Правильно ли повторное использование экземпляра ut в следующем коде?
UserTransaction ut = (UserTransaction)ctx.lookup("java:comp/UserTransaction");
ut.begin();
doSomeWork();
ut.commit();//Or rollback (I think it doesn't matter)
ut.begin(); //Or rollback (I think it doesn't matter)
doOtherWork();
ut.commit();
Когда ресурс JNDI определен так:
Reference atomikosUserTransactionFactoryDS = new Reference("com.atomikos.icatch.jta.UserTransactionImp",
"com.atomikos.icatch.jta.UserTransactionFactory", null);
atomikosUserTransactionFactoryDS.add(new RefAddr("name") {
public Object getContent() {
return "UserTransaction";
}});
atomikosUserTransactionFactoryDS.add(new RefAddr("type") {
public Object getContent() {
return "com.atomikos.icatch.jta.UserTransactionImp";
}});
initContext.rebind("java:comp/UserTransaction", atomikosUserTransactionFactoryDS);
В чем я не уверен, так это в том, нужно ли мне добавить другой поиск и получить новую транзакцию UserTransaction изфабрика, прежде чем начать новую UserTransaction?
Я не думаю, что это уместно, но, как говорится в определении ресурса, я использую Atomikos в качестве менеджера транзакций (и поэтому он фабричный, как фабричный).
Спасибо,
Итай