You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Jan Bednar (Jira)" <ji...@apache.org> on 2020/09/07 02:00:09 UTC
[jira] [Updated] (CAMEL-15504) Support alternative JNDI locations
for TransactionManager
[ https://issues.apache.org/jira/browse/CAMEL-15504?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jan Bednar updated CAMEL-15504:
-------------------------------
Description:
Eg. Payara AS exports TransactionManager at JNDI.
{code:java}
java:appserver/TransactionManager
{code}
In Camel CDI is currently hardcoded JNDI
{code:java}
java:/TransactionManager
{code}
See [https://stackoverflow.com/questions/55353883/apache-camel-in-payara-lookup-failed-for-java-transactionmanager]
Current solution is to remap this with web.xml, it would be nice to find way to make this configurable directly in Apache Camel.
----
Alternate approach can be similar to Spring, which tries to resolve TransactionManager from following JNDI names - [https://github.com/spring-projects/spring-framework/blob/master/spring-tx/src/main/java/org/springframework/transaction/jta/JtaTransactionManager.java]
{code:java}
public static final String DEFAULT_USER_TRANSACTION_NAME = "java:comp/UserTransaction";
public static final String[] FALLBACK_TRANSACTION_MANAGER_NAMES = new String[] {"java:comp/TransactionManager", "java:appserver/TransactionManager", "java:pm/TransactionManager", "java:/TransactionManager"};
{code}
was:
Eg. Payara AS exports TransactionManager at JNDI.
{code:java}
java:appserver/TransactionManager
{code}
In Camel CDI is currently hardcoded JNDI
{code:java}
java:/TransactionManager
{code}
See [https://stackoverflow.com/questions/55353883/apache-camel-in-payara-lookup-failed-for-java-transactionmanager]
Current solution is to remap this with web.xml, it would be nice to find way to make this configurable directly in Apache Camel.
----
Alternate approach can be similar to Spring, which tries to resolve TransactionManager from following JNDI names - [https://github.com/spring-projects/spring-framework/blob/master/spring-tx/src/main/java/org/springframework/transaction/jta/JtaTransactionManager.java]
{code:java}
public static final String DEFAULT_USER_TRANSACTION_NAME = "java:comp/UserTransaction";
public static final String[] FALLBACK_TRANSACTION_MANAGER_NAMES = new String[] {"java:comp/TransactionManager", "java:appserver/TransactionManager", "java:pm/TransactionManager", "java:/TransactionManager"};
{code}
Summary: Support alternative JNDI locations for TransactionManager (was: Make TransactionManager JNDI name configurable)
> Support alternative JNDI locations for TransactionManager
> ---------------------------------------------------------
>
> Key: CAMEL-15504
> URL: https://issues.apache.org/jira/browse/CAMEL-15504
> Project: Camel
> Issue Type: Improvement
> Components: camel-cdi
> Reporter: Jan Bednar
> Priority: Minor
>
> Eg. Payara AS exports TransactionManager at JNDI.
> {code:java}
> java:appserver/TransactionManager
> {code}
> In Camel CDI is currently hardcoded JNDI
> {code:java}
> java:/TransactionManager
> {code}
> See [https://stackoverflow.com/questions/55353883/apache-camel-in-payara-lookup-failed-for-java-transactionmanager]
> Current solution is to remap this with web.xml, it would be nice to find way to make this configurable directly in Apache Camel.
>
> ----
> Alternate approach can be similar to Spring, which tries to resolve TransactionManager from following JNDI names - [https://github.com/spring-projects/spring-framework/blob/master/spring-tx/src/main/java/org/springframework/transaction/jta/JtaTransactionManager.java]
> {code:java}
> public static final String DEFAULT_USER_TRANSACTION_NAME = "java:comp/UserTransaction";
> public static final String[] FALLBACK_TRANSACTION_MANAGER_NAMES = new String[] {"java:comp/TransactionManager", "java:appserver/TransactionManager", "java:pm/TransactionManager", "java:/TransactionManager"};
> {code}
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)