Hi all, Managed to solve this issue by modifying the xstreams jar by injecting a bundle activator which loads the native library which was omitted by existing xstream impl. As the long term solution we will have to implement a proper jar to bundle tool for this purpose.
Thanks Kishanthan for the guidance provided. Thanks and regards On Wed, Oct 30, 2019 at 7:56 PM Charuka Karunanayake <[email protected]> wrote: > Hi Tishan, > > Tried putting the binary files in jre/bin, also setting the instant_client > location to $PATH variable it's still producing the same error. > > Thanks and Regards, > > On Wed, Oct 30, 2019 at 7:21 PM Tishan Dahanayakage <[email protected]> > wrote: > >> Hi Charuka, >> >> As discussed offline let's modify the current ICF provider tool and >> produce a proper OSGified Oracle jar to isolate the fact that Linkage error >> is not happening due to us loading classes. I highly doubt this will fix >> the Link error but lets give it a try. >> Also let's put the binary libraries in jre/bin directory. Stumbled upon >> few SO answers where they were able to fix by adding libs to jre/bin. Did >> we try setting lib location to $PATH as well? >> >> Thanks, >> Tishan >> >> >> On Wed, Oct 30, 2019 at 5:34 PM Charuka Karunanayake <[email protected]> >> wrote: >> >>> Hi all, >>> >>> We are currently in the process of adding listening mode CDC support for >>> oracle in our siddhi-io-cdc extension using the debezium connector while >>> writing the extension I ran into the following error >>> >>> [2019-10-30 11:49:14,019] ERROR >>> {io.debezium.relational.RelationalSnapshotChangeEventSource} - Failed to >>> initialize snapshot context. java.lang.RuntimeException: >>> java.sql.SQLException: No suitable driver found for >>> jdbc:oracle:oci:@10.100.5.219:1521/ORCLCDB >>> >>> This error occurs because of the JDBC driver jar required for the >>> Debezium Oracle connector is a non-OSGi bundle with SPI services when used >>> jartobundle.sh tool to convert it to an OSGi bundle those SPI services >>> won’t get copied. To solve this we tried a few quick solutions >>> >>> 1. >>> >>> Creating the SPI related files inside the resources in META-INF >>> folder - didn’t work >>> 2. >>> >>> Unzipping the OSGi converted ojdbc jar and copying the SPI related >>> files to META-INF folder and compressing and creating the jar - didn’t >>> work >>> 3. >>> >>> Create the ojdbc jar using icf-provider tool by registering the spi >>> class name - Worked with BundleActivator Exceptions when starting the >>> pack >>> 4. >>> >>> Manually loaded the class inside the extension using the >>> Class.forname() method - worked without any OSGi errors at the start >>> >>> >>> In above, option #4 worked in mac OS. Then, while testing on Ubuntu the >>> following error appears >>> >>> >>> [2019-10-30 07:47:21,408] ERROR {io.debezium.pipeline.ErrorHandler} - >>> Producer failure java.lang.RuntimeException: >>> java.lang.UnsatisfiedLinkError: >>> oracle.streams.XStreamOut.XStreamOutAttachNative(JJLjava/lang/String;[BIII)V >>> >>> Tried the following to solve it without any success >>> >>> >>> 1. >>> >>> Check using the jar that is created using the icf-provider >>> 2. >>> >>> Thought it was a remote connectivity issue created the Oracle >>> database and ran the StreamingIntegrator in the same host >>> 3. >>> >>> Tried copying the OJDBC and Xstreams jars into JDK_HOME/jre/lib >>> 4. >>> >>> Tried setting the classpath to oracle lib folder by >>> -Djava.library.path >>> 5. >>> >>> Tried the Debezium connector separately as a fat jar - works. >>> >>> >>> All the steps that were followed are documented in the doc[1] provided >>> below, Appreciate any help you can give on this. >>> >>> [1] - >>> https://docs.google.com/document/d/1XbkFxFjmsmSQsXUb9smMusz-mwO6Ko_8QDd8L51cZOY/edit?usp=sharing >>> Thanks and Regards, >>> -- >>> *Charuka Karunanayake* >>> Software Engineer | WSO2 >>> >>> E-mail: [email protected] >>> Mobile: +94711611848 >>> Web: http://wso2.com >>> >>> <http://wso2.com/signature> >>> >>> >>> >> >> -- >> *Tishan Dahanayakage* | Technical Lead | WSO2 Inc. >> (m) +94716481328 | (w) +94112145345 | (e) [email protected] >> GET INTEGRATION AGILE >> Integration Agility for Digitally Driven Business >> >> Disclaimer: This communication may contain privileged or other >> confidential information and is intended exclusively for the addressee/s. >> If you are not the intended recipient/s, or believe that you may have >> received this communication in error, please reply to the sender indicating >> that fact and delete the copy you received and in addition, you should not >> print, copy, re-transmit, disseminate, or otherwise use the information >> contained in this communication. Internet communications cannot be >> guaranteed to be timely, secure, error or virus-free. The sender does not >> accept liability for any errors or omissions. >> > > > -- > *Charuka Karunanayake* > Software Engineer | WSO2 > > E-mail: [email protected] > Mobile: +94711611848 > Web: http://wso2.com > > <http://wso2.com/signature> > > > -- *Charuka Karunanayake* Software Engineer | WSO2 E-mail: [email protected] Mobile: +94711611848 Web: http://wso2.com <http://wso2.com/signature>
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
