What are the benefits of Java SDK refactoring in H2 2026?
1. What Java 25 environment brings
- One language, one runtime: pure Java, no Kotlin and no RxJava on the classpath, so no more version clashes with clients’ own Kotlin or reactive stacks.
- Modern dependencies: Jakarta XML Binding instead of the old javax JAXB (the known Spring Boot 3 blocker), the built-in Java HTTP client instead of Fuel, and the current RabbitMQ client, SLF4J 2 and Caffeine cache.
- Performance: virtual threads and modern JVM garbage collectors, plus a much smaller dependency footprint and faster startup.
- Long-term support: Java 25 is the current LTS, so the SDK stays supportable for years; Java 8 dependencies are increasingly hard to keep secure.
2. What the SDK rewrite brings
- Same public API and same Maven coordinates, so upgrading is a version bump, not a migration.
- Fixes the structural problems behind recent incidents: no more blocking REST calls or deadlocks on the message-delivery thread, bounded caches without silent eviction, proper reconnection and clear connection up/down events.
- Feature parity with the other Oddins SDKs: missing fields and methods, per-call locales, cache invalidation, recovery status, and SDK version reporting.
- Real test coverage, including concurrency and deadlock tests, performance benchmarks on production-shaped data, and publishing to Maven Central.
- The current 0.0.x versions stays supported for a transition period with critical fixes.