こんにちは。Hibernate + Bitronix を使用してトランザクションをコミットする際に問題が発生しています。永続化の呼び出しは別の jar で行われます。たとえば、jarA と jarB があるとします。JarA はトランザクションを開始し、jarB のメソッドを呼び出します。jarB のメソッドは、そのデータを永続化します。最後に、jarA がトランザクションをコミットします。ただし、Bitronix がトランザクションがないことを示す例外をスローするため、コミットは行われません。
関連するコード:
void doStuffInJarA() {
BitronixTransactionManager btm = TransactionManagerServices.getTransactionManager();
btm.begin();
callMethodInJarB();
btm.commit();
}
...
void callMethodInJarB() {
MyDAO mydao = new MyDAO();
mydao.persist(myObject);
}