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 2019/12/09 14:50:08 UTC

[GitHub] [camel-k] nicolaferraro commented on issue #1128: Transactions with Camel K

nicolaferraro commented on issue #1128: Transactions with Camel K
URL: https://github.com/apache/camel-k/issues/1128#issuecomment-563272924
 
 
   Hi @davesargrad, I've seen your commment on https://github.com/jboss-fuse/spring-boot-camel-xa. Using transactions on Camel K is allowed and hassle-free until they remain local transactions (just use them).
   
   When you need to coordinate multiple transactional resources, such as a JMS system and a database, then it becomes more complex. If you can manage the complexity using an [idempotent consumer](https://camel.apache.org/manual/latest/idempotentConsumer-eip.html) (it can even be transactional) and JMS retries, you're still safe.
   
   When you need something complex like receive a message, write to db and write an outgoing message in the same transaction, then you need XA. Implementing XA is difficult as your integration needs to be stateful, to run on something like a statefulset and to have a transaction log on a local persistent volume. Scaling out (up and down) integrations is also very complex to achieve.
   
   If you're interested in adding XA support on Camel K, I think the most basic building block is allowing integrations to run on statefulsets with per-pod PV. With that building block, technically an integration can be configured to write the transaction log on the PV. Adding scaling capabilities can come later..

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services