webMethods support for Apache Phoenix Driver

Hi All

Has anyone worked on Apache Pheonix which is a JDBC driver used to connect to Hbase.

wM 10.15 has compatibility issues with Hbase so we have requirement to connect to Apache pheonix. So as part of that i have got the server details and the dependent jars.

Data source class : org.apache.phoenix.jdbc.PhoenixDriver

and filled the details of the server shared which uses keytab and trust store details of the pheonix server.

I am getting errors as

Cannot connect to the database with DataSource class “org.apache.phoenix.jdbc.PhoenixDriver”.
class org.apache.phoenix.jdbc.PhoenixDriver cannot be cast to class javax.sql.DataSource (org.apache.phoenix.jdbc.PhoenixDriver is in unnamed module of loader com.wm.app.b2b.server.PackageClassLoader @5f749522; javax.sql.DataSource is in module java.sql of loader ‘platform’)

Hi Abhijith,

are you aware that wM provides a specific HBase adapter?
See these two articles for further informations:

On the other side, the class “org.apache.phoenix.jdbc.PhoenixDriver” is not a DataSource class, but just the driver class and cannot be used with the WmJDBCAdapter package.
Please introspect the Apache Phoenix jars, if they provide a DataSource class additionally.
If yes, use this one.
If not, you will have to check if the WmDB package works with the mentioned driver class.

Regards,
Holger

1 Like

Hi Holger

Thank you for the reply , Yes i am aware that there is a HBase adapter and wM supports only till 2.2 and the target server which i am trying to connect is on 2.4.x. When i raised ticket to SAG they said they cannot provide support and target system is not allowing the connection to 2.2

So they came up with an alternative to use Apache Pheonix via JDBC driver where i procured the jars from Apache Pheonix lib and got that error.

Raised a ticket again and the response was that SAG doesnt support Apache pheonix driver.

Hi Abhijith,

unfortunately, it looks, that the phoenix driver does not provide DataSource class out of the box, only via an additional spark plugin.
I am not sure, if this plugin DataSource class will be working with the JDBC Adapter.

If nothing else helps, you will have to fallback to the WmDB package which is working with the driver class.

Regards,
Holger

Hi Holger

Can you please give some insights on WmDB package. I dont see that package in my IS

Regards
Abhijith

Hi Abhijith,

this package is documented in the IS Built-In-Services Reference and should be available for installation by Installer by default. But it is not selected by default.
Therefore you will have to rerun the Installer against the same installation directory as your current installation and select the WmDB package (under IntegrationServer) to be added to your installed components.

The driver jar should then be placed under packages/WmDB/code/jars folder in the active instance.
Stop and restart the IS afterwards as I am not sure if just reloading the WmDB package is sufficient to activate the driver in this case.

Regards,
Holger

Hi Holger ]

Thank you. Unfortunately client wanted me to drop the idea of connecting to pheonix if the support is not given by SAG. Thank you for your time.

Hi Abhijith,

thanks for the information.

Using the driver with the WmDB package should be supported, but this will require a bit more coding (which can be a bit more complex as expected).

The only option you have now is to open an idea in the idea portal to request an update to HBase Adapter to support the HBase 2.4 driver:
https://ideas.ibm.com/

Still wondering, why it is not possible to connect to an HBase 2.4 Server while using the HBase 2.2 driver with the HBase Adapter for webMethods.
Do you have further insights for us regarding this?

Regards,
Holger