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

Reply via email to