-
1. Re: Oracle AQ on Wildfly 8 with OCI driver throwing java.lang.UnsatisfiedLinkError
ctomc Mar 19, 2014 10:31 AM (in response to shi_1)What kind of OCI driver are you using?
If you are using type4 (thin driver) it does not require any native libs at all.
In any case show us how does your module structure look like so we can help you more.
also take a look at Native Libraries - JBoss Modules - Project Documentation Editor to see how to configure native libs for static modules,
but as i said, i would recommend you to move to type 4 instead of type2 driver, so you would not need any native dependencies.
--
tomaz
-
2. Re: Re: Oracle AQ on Wildfly 8 with OCI driver throwing java.lang.UnsatisfiedLinkError
shi_1 Mar 20, 2014 5:42 AM (in response to ctomc)Hi, we're using the oci driver (type 2 with native libraries), not thin. So at least the error messages make sense. Unfortunately I'm not able to move to type 4 driver instead of type 2 since the old system used type 4 driver for years now which had been set by management once. A change won't be accepted.
The strange thing is that the driver works as expected but as soon as the AQ lib requires natively implemented parts of the driver, I get these errors.
Ok, here's my oracle module structure:
- JDBC driver: ${WILDFLY_HOME}/modules/oracle/jdbc/main
- contents: ojdbc5.jar, module.xml
- module.xml:
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.0" name="oracle.jdbc">
<resources>
<resource-root path="ojdbc5.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
- AQ API: ${WILDFLY_HOME}/modules/oracle/aq/api/main
- contents: aqapi.jar, module.xml
- module.xml:
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.0" name="oracle.aq.api">
<resources>
<resource-root path="aqapi.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.jms.api"/>
<module name="oracle.jdbc"/>
</dependencies>
</module>
I also had a look at the native libraries documentation and tried it out for linux-i686 but without success. My driver module then had an additional lib/linux-i686 folder containing the libs but nothing changed. After that I also tried to add the lib folder to the AQ module, but again no change!
- JDBC driver: ${WILDFLY_HOME}/modules/oracle/jdbc/main
-
3. Re: Oracle AQ on Wildfly 8 with OCI driver throwing java.lang.UnsatisfiedLinkError
shi_1 Mar 25, 2014 8:50 AM (in response to shi_1)Hi, after trying out several approaches we finally found a working solution. The key was to combine both modules to a single one looking so:
- JDBC/AQ module: ${WILDFLY_HOME}/modules/oracle/jdbcaq/main
- contents: ojdbc5.jar, aqapi.jar, orai18n.jar, module.xml
- module.xml:
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.0" name="oracle.jdbcaq">
<resources>
<resource-root path="aqapi.jar" />
<resource-root path="ojdbc5.jar"/>
<resource-root path="orai18n.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.jms.api" />
<module name="javax.transaction.api"/>
</dependencies>
</module>I guess the encountered behavior is based on the module classloaders of wildfly which may require that the native implementations are loaded by the same classloader to be able to communicate with each other. But this is only a suspicion which I cannot proof at the moment.
- JDBC/AQ module: ${WILDFLY_HOME}/modules/oracle/jdbcaq/main