我想从 EJB 3.0 中的单个无状态会话 bean 访问两个数据库。我创建了一个会话 bean,在其中声明了两个实体管理器,以便与两个数据库进行通信。实体管理器在我的无状态会话 bean 中以这种方式定义:
@PersistenceContext (unitName="abc") private EntityManager manager;
@PersistenceContext (unitName="xyz") private EntityManager manager1;
使用第一个实体管理器,我从一个数据库中获取数据,然后使用第二个实体管理器将其插入到第二个数据库中。我现在的问题是我可以声明两个实体管理器,但我不能同时使用它们。我必须使用其中一个注释掉,否则我会得到这个异常:
Caused by: org.hibernate.exception.GenericJDBCException: Cannot open connection
Caused by: org.jboss.util.NestedSQLException: Could not enlist in transaction on
entering meta-aware object!;
- nested throwable:" "Caused by:
org.jboss.resource.JBossResourceException: Could not enlist in transaction on entering meta-aware object"
"Caused by: javax.transaction.SystemException: java.lang.Throwable:"