I'm looking into this one and found that camel-sjms is using individual JMS 
sessions for each endpoints.

As I commented, it causes inconsistency if the process is terminated in the 
middle of processing those synchronizations, so it doesn't make much sense in 
terms of atomicity. I think it would be better to add an option to share a 
single JMS Session among SJMS endpoints, and if it's disabled we can just 
commit those immidiately for each producer/consumer (i.e. remove 
synchronization usage). And I'd like to enable this option by default as I 
don't see any situation that they don't want to share the Session, 
transacted=false would be enough. Thoughts?

If it sounds OK for you guys, I'll make a PR for it.


Tomohisa Igarashi

Reply via email to