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:
[email protected]


With regards,
Apache Git Services

Reply via email to