参考这个SO线程-Java:从 StoredProcedure 返回 XMLType 数据,使用 ojdbc6.jar xdb6.jar xmlparserv2.jar 进行 Java 与 PLSQL 交互 https://stackoverflow.com/questions/25208239/java-returning-xmltype-data-from-storedprocedure[ojdbc6.jar、xdb6.jar、xmlparserv2-11.1.1.jar]
当应用程序部署在安装了 JDK1.6 的 PC 上的本地 tomcat 服务器中时,该应用程序工作完美[能够检索数据,没有任何异常],但是当部署在运行 JDK 1.7 的 JBOSS EAP 6.2 服务器中时,它在尝试时会抛出异常通过 OJDBC 桥检索 XML。
java.lang.NullPointerException
13:53:51,265 ERROR [stderr] (http-/0.0.0.0:8080-1) at oracle.jdbc.driver.NamedTypeAccessor.getOracleObject(NamedTypeAccessor.java:320)
13:53:51,268 ERROR [stderr] (http-/0.0.0.0:8080-1) at oracle.jdbc.driver.NamedTypeAccessor.getObject(NamedTypeAccessor.java:217)
13:53:51,270 ERROR [stderr] (http-/0.0.0.0:8080-1) at oracle.jdbc.driver.NamedTypeAccessor.getObject(NamedTypeAccessor.java:123)
13:53:51,273 ERROR [stderr] (http-/0.0.0.0:8080-1) at oracle.jdbc.driver.OracleCallableStatement.getObject(OracleCallableStatement.java:2049)
13:53:51,275 ERROR [stderr] (http-/0.0.0.0:8080-1) at oracle.jdbc.driver.OracleCallableStatementWrapper.getObject(OracleCallableStatementWrapper.java:818)
我尝试更改本地编译器设置并将 JRE 从 1.6 安装到 1.7,本地仍然运行良好。
请针对我在远程 PC 中的 JBOSS 服务器上遇到的错误提出您的意见。 JBOSS 是否试图覆盖我已经放入应用程序 war 文件中的 ojdbc jar?
updates:将安装 JBoss 的远程服务器中的 JDK 版本从 1.7 降级为 1.6。在 JBoss 服务器中运行时仍然出现此错误。寻找可能遇到过此问题或知道此问题原因的人。请分享您的意见
以下是我声明 Oracle 数据源的方式(用于调用 pl 或执行 xqueries)
注入数据源(在无状态 ejb 中)
@Resource(name = "java:jboss/datasources/xmlDatasource")
private DataSource productDS;
在standalone.xml中声明数据源
<datasource jndi-name="java:jboss/datasources/xmlDatasource" pool-name="xxx" enabled="true" use-java-context="true">
<connection-url>jdbc:oracle:thin:@xxx:1521:xxx</connection-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<driver>oracle</driver>
<pool>
<min-pool-size>0</min-pool-size>
<max-pool-size>10</max-pool-size>
</pool>
<security>
<user-name>xxx</user-name>
<password>xxx</password>
</security>
</datasource>
<drivers>
<driver name="oracle" module="oracle.jdbc">
<xa-datasource-class>oracle.jdbc.OracleDriver</xa-datasource-class>
</driver>
</drivers>
模块定义
<module xmlns="urn:jboss:module:1.1" name="oracle.jdbc">
<resources>
<resource-root path="ojdbc6.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
</dependencies>
</module>
使用 maven 将模块依赖项添加到我的 Ear 应用程序(内部有无状态 ejb..)(或编辑您的 manifest.mf 并添加模块名称)
<archive>
<manifestEntries>
<Dependencies>oracle.jdbc</Dependencies>
</manifestEntries>
</archive>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)