gnodet commented on PR #22159: URL: https://github.com/apache/camel/pull/22159#issuecomment-4143964865
Thanks @Croway — that's an important question. The Splitter EIP handles transactions in two ways: 1. **Transaction context propagation** (default when parent is transacted): sub-exchanges inherit the `isTransacted()` flag, share `TRANSACTION_CONTEXT_DATA`, and are forced to run synchronously — so they execute within the same transaction boundary. 2. **`shareUnitOfWork` option**: all sub-exchanges share the parent's UnitOfWork, giving all-or-nothing semantics — if any split fails, the entire exchange is marked for rollback. The bulk component currently doesn't support either of these. We'll investigate adding proper transaction support — either by propagating transaction context similar to how the Splitter does it, or by finding an approach that fits the bulk processing model better. This is worth getting right before merging. _Claude Code on behalf of Guillaume Nodet_ -- 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. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
