You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by GitBox <gi...@apache.org> on 2022/11/17 08:34:53 UTC

[GitHub] [camel-quarkus] zhfeng opened a new issue, #4279: JMS consumer in a XA router can not work with JPA

zhfeng opened a new issue, #4279:
URL: https://github.com/apache/camel-quarkus/issues/4279

   I'm trying to incorporate JMS consumer in a XA router such lik:
   ```
   from("xajms:outbound")
                   .transacted()
                   .log("Message out: ${body}")
                   .to("bean:auditLog?method=createAuditLog(${body}-ok)")
                   .to("jpa:org.acme.AuditLog");
   ``` 
   
   And a XA JMS Component could be 
   
   ```
    @Produces
       @Named("xajms")
       public JmsComponent xaJms() {
           JmsComponent component = new JmsComponent();
           component.setConnectionFactory(connectionFactory);
           component.setTransacted(false);
   
           JtaTransactionManager jtaTransactionManager = new JtaTransactionManager(userTransaction, transactionManager);
           jtaTransactionManager.setTransactionSynchronizationRegistry(transactionSynchronizationRegistry);
           component.setTransactionManager(jtaTransactionManager);
           return component;
       }
   ```
   But it can not receive any message from the queue and the warn messaging is
   ```
   2022-11-17 10:21:31,014 WARN  [org.apa.cam.com.jms.DefaultJmsMessageListenerContainer] (Camel (camel-1) thread #1 - JmsConsumer[outbound]) Setup of JMS message listener invoker failed for destination 'outbound' - trying to recover. Cause: 'org.springframework.transaction.TransactionStatus org.springframework.transaction.PlatformTransactionManager.getTransaction(org.springframework.transaction.TransactionDefinition)': java.lang.NoSuchMethodError: 'org.springframework.transaction.TransactionStatus org.springframework.transaction.PlatformTransactionManager.getTransaction(org.springframework.transaction.TransactionDefinition)'
   	at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:243)
   	at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1237)
   	at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1227)
   	at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1120)
   	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
   	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
   	at java.base/java.lang.Thread.run(Thread.java:829)
   
   ```
   
   I think the root cause is that we introduced [PlatformTransactionManager](https://github.com/apache/camel-quarkus/blob/main/extensions/jpa/runtime/src/main/java/org/springframework/transaction/PlatformTransactionManager.java) in `camel-quarkus-jpa` which is just to make the graal native building happy to do the static analyst.  So it needs to import `PlatformTransactionManager` interface completely since the `camel-jms` has to depend on `spring-tx`.
   
   It might be an other better way to do such things with native building. @jamesnetherton @ppalaga WDYT?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [camel-quarkus] zhfeng closed issue #4279: JMS consumer in a XA router can not work with JPA

Posted by GitBox <gi...@apache.org>.
zhfeng closed issue #4279: JMS consumer in a XA router can not work with JPA
URL: https://github.com/apache/camel-quarkus/issues/4279


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org