Hello, In order to improve the performance of a JMS to Postgres route I need to batch process messages. In this case a at least once processing is sufficient. Ideally I could achieve the batch processing without using an additional persistence service. The SJMS component included a SJMS Batch component until version 3.7x. The Kafka and the NATS components offer a batch option, which obviously stems from how they work. There are also a few Jira tickets pertaining to a new batch solution for JMS and a few other components, but none have been started yet.
- https://issues.apache.org/jira/browse/CAMEL-16039 - https://issues.apache.org/jira/browse/CAMEL-16751 Originally I thought about customizing the acknowledge behavior, commit the transaction after the batch has been processed and probably using a synchronous executor, but that does not appear possible with the SJMS (1 or 2) component, and would probably require a custom message lister container with the JMS component. I saw a few older forum entries suggesting avoiding doing so. Therefore I am now thinking about writing a custom component mimicking how the SJMS Batch worked. I will make it dependent on either version 1 or 2. I am happy to submit it to the project, therefore I wanted to reach out for comments. Should I mimic the SJMS Batch component or do something more similar to the batching in Kafka and NATS? If I should develop something similar to the SJMS Batch component and suggestions what to do differently? Thanks in advance. Marcus Ionker
