OESE-71 Bind TransactionManager to JNDI tree

master
David BRASSELY 2015-01-13 21:38:50 +01:00
parent 5ba4ae1932
commit 18bf076c4a
1 changed files with 18 additions and 1 deletions

View File

@ -2,7 +2,12 @@ package net.openesb.standalone.jta;
import com.atomikos.icatch.jta.UserTransactionManager;
import com.google.inject.Provider;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.transaction.TransactionManager;
import javax.inject.Inject;
import javax.naming.InitialContext;
import javax.naming.NamingException;
/**
*
@ -11,8 +16,20 @@ import javax.transaction.TransactionManager;
*/
public class TransactionManagerProvider implements Provider<TransactionManager> {
@Inject
private InitialContext initialContext;
@Override
public TransactionManager get() {
return new UserTransactionManager();
UserTransactionManager utm = new UserTransactionManager();
try {
initialContext.createSubcontext("java:comp");
initialContext.bind("java:comp/UserTransaction", utm);
} catch (NamingException ex) {
Logger.getLogger(TransactionManagerProvider.class.getName()).log(Level.SEVERE, null, ex);
}
return utm;
}
}