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

Reply via email to