gnodet opened a new pull request, #25241: URL: https://github.com/apache/camel/pull/25241
_Claude Code on behalf of @gnodet_ ## Summary - Convert all 34 `synchronized` methods in `MllpSocketBuffer.java` to use `java.util.concurrent.locks.ReentrantLock` for virtual thread compatibility - `synchronized` blocks cause virtual thread pinning (the carrier thread cannot be released while a virtual thread holds an intrinsic monitor), which degrades throughput under virtual-thread workloads - `ReentrantLock` does not pin; it allows the carrier thread to be released when the virtual thread parks while waiting for the lock Each formerly-`synchronized` method now acquires the lock at entry and releases it in a `finally` block, preserving the same mutual-exclusion semantics. No `wait()`/`notify()` usage existed, so no `Condition` conversion was needed. All 335 existing tests pass. Part of [CAMEL-20199](https://issues.apache.org/jira/browse/CAMEL-20199): Complete support of Virtual Threads. ## Test plan - [x] All camel-mllp unit tests pass (335 tests, 0 failures) - [ ] Manual review that lock/unlock pairs are correct and no synchronized keywords remain 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- 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]
