我有一个propertiesbean,它给了我SqlSessions。 这个bean用所有这些爵士乐@类级别
注释@Singleton
@LocalBean
@Startup
@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
我也有这个
public SqlSessionFactory getSqlSessionFactory(ConnTypes connType) {...}
返回你想要的SqlSession。
我有两个数据库。一个是mysql实例,另一个不是(让我们称之为db2)。
当我在本地运行项目时,一切都很好。两个数据库都可以毫无问题地访问。
当我在测试服务器上运行项目时,它开始抛出客户端事务中止错误。我已经对此进行了大量的研究,当数据库查询或某些数据库访问出现问题时,人们似乎会得到这些异常。然后将整个事务标记为回滚并抛出此异常(至少这是我读过的)
我认为它在第一次抛出客户端的事务中止错误之前就抛出了XA-Resource错误。我知道当你的bean试图访问另一个会话时你可以得到那些。我在本地运行之前看到过这个错误,并尝试在一个方法中维护与两个数据库的连接。
可能是我访问两个数据库的单例属性bean进入一个奇怪的事务状态试图在一个线程中返回一个mysql会话而在另一个线程中返回一个db2会话吗?