<persistence-unit name="EJBJPAPU" transaction-type="JTA">
<jta-data-source>java:/MySqlDS</jta-data-source>
<class>com.zz.transaction.Personn</class>
<!--不包括没有列出来的类-->
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.show_sql" value="true"></property>
</properties>
</persistence-unit>
<persistence-unit name="EJBJPAPU2" transaction-type="JTA">
<jta-data-source>java:/MySqlDS2</jta-data-source>
<class>com.zz.transaction.Userr</class>
<!--不包括没有列出来的类-->
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.show_sql" value="true"></property>
</properties>
</persistence-unit>
在此使用的是mysql数据库。
在mysql-ds.xml配置文件中,把datasources中文件复制一份。
修改一下jndi-name,呵呵,不要重复了。
指定数据源。
@PersistenceContext(unitName="EJBJPAPU")
private EntityManager em1;
默认事务管理是容器管理。
<jta-data-source>java:/MySqlDS</jta-data-source>
<class>com.zz.transaction.Personn</class>
<!--不包括没有列出来的类-->
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.show_sql" value="true"></property>
</properties>
</persistence-unit>
<persistence-unit name="EJBJPAPU2" transaction-type="JTA">
<jta-data-source>java:/MySqlDS2</jta-data-source>
<class>com.zz.transaction.Userr</class>
<!--不包括没有列出来的类-->
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.show_sql" value="true"></property>
</properties>
</persistence-unit>
在此使用的是mysql数据库。
在mysql-ds.xml配置文件中,把datasources中文件复制一份。
修改一下jndi-name,呵呵,不要重复了。
指定数据源。
@PersistenceContext(unitName="EJBJPAPU")
private EntityManager em1;
默认事务管理是容器管理。
@TransactionManagement(TransactionManagementType.CONTAINER)
下面是出错的地方
javax.ejb.EJBException: org.hibernate.exception.GenericJDBCException: Cannot
open connection
错误,不能打开连接。
ejb程序中,两个mysql数据库,一个程序同时分别把数据插入到两个数据库中。会报连接错误。
解决:
conf/jbossjta-properties.xml (JBoss-4.x) or conf/jbossts-properies.xml (JBoss 5)
在<properties depends="arjuna" name="jta">
节点下增加:
<!-- 支持一个事务中包括多个数据源 -->
<property name="com.arjuna.ats.jta.allowMultipleLastResources" value="true"/>