我目前正处于从 4.2.2GA 版本到 Wildfly 8.0.0.Final 的 JBoss 迁移项目的中间。该项目使用 Oracle OCI 驱动程序进行数据库访问并使用 Oracle AQ。现在,我启动 Wildfly,环境变量“LD_LIBRARY_PATH”设置为 OCI 本机实现所在的位置,一切正常,除了 AQ。这是我在使用 AQ API 时遇到的错误:oracle.jms.AQjmsSession.ociinit([JIIZSII)J: java.lang.UnsatisfiedLinkError: oracle.jms.AQjmsSession.ociinit([JIIZSII)J
这是我的模块:
路径:${WILDFLY_HOME}/modules/oracle/aq/api/main
内容: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>
所以现在的问题是,Wildfly 不将“LD_LIBRARY_PATH”传播到模块类加载器的原因是什么?
对于较旧的 JBoss 版本,我发现了这个问题:https://issues.jboss.org/browse/SOA-3570传播到将 aqapi.jar 放入服务器 lib 文件夹中,就像我们为 JBoss 4 所做的那样。但是我怎么能为 Wildfly 解决这个问题?有任何想法吗?
谢谢!