From 18bf076c4a87174a312ffe14979fbba890ff449c Mon Sep 17 00:00:00 2001 From: David BRASSELY Date: Tue, 13 Jan 2015 21:38:50 +0100 Subject: [PATCH] OESE-71 Bind TransactionManager to JNDI tree --- .../jta/TransactionManagerProvider.java | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/openesb-standalone-container/src/main/java/net/openesb/standalone/jta/TransactionManagerProvider.java b/openesb-standalone-container/src/main/java/net/openesb/standalone/jta/TransactionManagerProvider.java index da61836..cce2284 100644 --- a/openesb-standalone-container/src/main/java/net/openesb/standalone/jta/TransactionManagerProvider.java +++ b/openesb-standalone-container/src/main/java/net/openesb/standalone/jta/TransactionManagerProvider.java @@ -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 { + @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; } }