我有两个事务管理器:
考虑下面的代码:
我们有外部的JPA事务和内部的JMS事务,两者是分离的,因为我们没有使用分布式事务。
我想在提交JPA事务后立即提交JMS事务。在这种情况下,当前的JMS事务需要连接到父JPA事务。
我不是在寻找替代分布式事务,我只是想在提交数据到数据库后发送JMS消息。
我知道我可以创建另一个类来调用
JpaTransactionManager
(myJpaTm
)和JmsTransactionManager
(myJmsTm
)。考虑下面的代码:
@Named
public class TestA {
@Inject TestB testB;
@Transactional(transactionManager="myJpaTm")
public void methoda() {
// store stuff in db
testB.methodb();
}
}
@Named
public class TestB {
@Transactional(transactionManager="myJmsTm")
public void methodb() {
// send few JMS messages
}
}
我们有外部的JPA事务和内部的JMS事务,两者是分离的,因为我们没有使用分布式事务。
我想在提交JPA事务后立即提交JMS事务。在这种情况下,当前的JMS事务需要连接到父JPA事务。
我不是在寻找替代分布式事务,我只是想在提交数据到数据库后发送JMS消息。
我知道我可以创建另一个类来调用
methoda
,然后调用methodb
,但我希望通过将两个事务连接起来来解决它。