java - JBoss 类型转换问题

标签 java jboss ejb wildfly-8

我正在 wildfly8 上部署需要 java7 的项目。 我正在将项目从 jboss5 迁移到 wildfly8 所以jboss5中的代码是

PreparedStatement wrappedStatement = (PreparedStatement) ((org.jboss.resource.adapter.jdbc.WrappedPreparedStatement)connection.prepareStatement(sql)).getUnderlyingStatement();

所以我改变了它...

PreparedStatement wrappedStatement = (PreparedStatement) ((org.jboss.jca.adapters.jdbc.jdk7.WrappedPreparedStatementJDK7)connection.prepareStatement(sql)).getUnderlyingStatement();

但现在我收到错误

org.jboss.jca.adapters.jdbc.jdk7.WrappedPreparedStatementJDK7 cannot be cast to org.jboss.jca.adapters.jdbc.jdk7.WrappedPreparedStatementJDK7

最佳答案

您的ear 项目中需要MANIFEST.MF 文件。 我把MANIFEST.MF文件包含

依赖项:org.jboss.ironjacamar.jdbcadapters、com.oracle7

换一个新行。将此文件保存在ear项目的METAINF中。

1)从项目的lib目录中删除ironjacamar-jdbc-..final.jar和ojdbc.jar。 2)这些jar已经存在于wildfly8的modules/文件夹中 (当然ojdbc*.jar是由用户配置的)。 3)依赖项:名称与 module.xml 文件中的名称相同,即

<module xmlns="urn:jboss:module:1.1" name="org.jboss.ironjacamar.jdbcadapters"> 

所以你必须输入模块的正确名称。

4)com.oracle7是wildfly8中ojdbc7.jar的驱动名称配置。 您可以将您在standalone.xml中编写的所需名称放入驱动程序标签中。

我认为这个错误与类加载 jar 有关。 但我遇到了新的错误 java.sql.SQLException:您无法在托管事务期间设置自动提交! 请帮助我。

关于java - JBoss 类型转换问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28450819/

相关文章:

java - Java读取串口

java - 如何在 JBoss 中禁用 std-out 捕获?

java - 无法构建JBoss

java - 使用 ANT 创建带有版本的 WAR 文件

java - 在关系中使用 JPA 的最佳方式

java - 如何使用 spring 和 J2EE (EJB) CMT 管理分布式事务

java - 错误-java.lang.NoClassDefFoundError : org/apache/commons/logging/LogFactory

Java 日历时区困惑

java - Linux 中的 WLS 12.1.3 - 消息未被消费者收听

java 字符串和哈希集成员资格匹配