I want to use local JMS transactions (i.e., transacted sessions, no JTA) in an low-throughput messaging application. We may be queuing up several messages, but only 20-30 messages will be received and processed at a time in the local transactions. The issue is that the processing that is conducted may take up to an hour to complete. Some questions:
Underneath the hood in HornetQ, will there be a lot of resources being consumed by these long running transactions? Could it become an issue for a single JVM hosting HornetQ? Can clustering fix any scalability issues?
Is there a way to set a timeout on the local transaction via the JMS or HornetQ API? Timeout would be on the order of hours, but we still would like a way to signal that the processing to taking way too long.