我试图在我的本地服务器上部署一个EAR文件,但它似乎仍在尝试使用hibernate 4(默认选项,我猜)。使用休眠配置JBoss EAP 6.1的问题3.6
我已经这样做:
- 我在$ JBOSS_HOME $ \模块添加一个Hibernate 3模块\ org.hibernate作为\ 3本module.xml文件:
<module xmlns="urn:jboss:module:1.0" name="org.hibernate" slot="3"> <resources> <resource-root path="hibernate3.jar"/> <resource-root path="commons-collections-3.1.jar"/> <resource-root path="jta-1.1.jar"/> <resource-root path="javassist-3.12.0.GA.jar"/> <resource-root path="antlr-2.7.6.jar"/> <resource-root path="slf4j-api-1.6.1.jar"/> <resource-root path="dom4j-1.6.1.jar"/> <!-- Insert other Hibernate 3 jars to be used here --> </resources> <dependencies> <module name="org.jboss.as.jpa.hibernate" slot="3"/> <module name="asm.asm"/> <module name="javax.api"/> <module name="javax.persistence.api"/> <module name="javax.transaction.api"/> <module name="com.ibm.db2" /> <module name="org.infinispan"/> </dependencies> </module>
- 我创建了数据源中
standalone-full-ha.xml
:
<datasource jndi-name="java:jboss/datasources/txdb" pool-name="txdbDS" enabled="true" use-java-context="true"> <connection-url>jdbc:db2://156.24.30.103:50000/TX_LSPDB</connection-url> <driver>DB2Driver</driver> <security> <user-name> .... </user-name> <password> .... </password> </security> </datasource>
- 我的persistence.xml文件中有如下条目:
<persistence-unit name="esdb"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <jta-data-source>java:jboss/datasources/txdb</jta-data-source> <class>com.gtech.commerce.UidBlockPool</class> <properties> <property name="hibernate.dialect" value="org.hibernate.dialect.DB2Dialect"/> <property name="jboss.as.jpa.providerModule" value="org.jboss.as.jpa.hibernate:3" /> </properties> </persistence-unit>
这是我所得到的,当我尝试部署:
Caused by: java.lang.ClassCastException: org.springframework.orm.hibernate3.LocalJtaDataSourceConnectionProvider incompatible with org.hibernate.service.jdbc.connections.spi.ConnectionProvider at org.hibernate.service.jdbc.connections.internal.ConnectionProviderInitiator.instantiateExplicitConnectionProvider(ConnectionProviderInitiator.java:189) [hibernate-core-4.2.0.SP1-redhat-1.jar:4.2.0.SP1-redhat-1] ... 107 more
任何关于我失踪的想法?
更新:我还没有找到一个解决方案,所以我做了明显的解决方法:我使用Hibernate 3与应用程序捆绑在一起,忽略任何模块
我不能选择容器,实际上我们是从JBoss EAP 4升级到6.1。目前我正在寻找修改DS如何定义的方法,以确保不使用hibernate 4 –
难道你不能至少选择次要版本吗? imho升级到jboss 6.0会简单得多 – Gab