Skip to content

refactor(runtime): share Jakarta adapters across runtimes - #148

Merged
youngledo merged 3 commits into
mainfrom
codex/jakarta-shared-adapters
Aug 26, 2026
Merged

refactor(runtime): share Jakarta adapters across runtimes#148
youngledo merged 3 commits into
mainfrom
codex/jakarta-shared-adapters

Conversation

@youngledo

@youngledo youngledo commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add jfoundry-jakarta with portable jfoundry-web-jaxrs, jfoundry-transaction-jta, and jfoundry-domain-event-jta modules
  • delegate Quarkus and Helidon transaction, domain-event, and HTTP logging behavior to the shared implementations while retaining runtime-local CDI/provider/build-time integration
  • preserve original Exception and Error failures when JTA rollback, rollback-only, timeout reset, or transaction resume cleanup also fails
  • use Java 25 ScopedValue for the lexically bounded JTA domain-event scope and Math.clamp for bounded HTTP body capture
  • document failure-cleanup, contextual-state, and runtime logging-facade rules in AGENTS.md and the framework maintenance skill
  • manage the new artifacts and portable API versions, enforce Jakarta module dependency boundaries, and update the bilingual architecture documentation and module diagram

Verification

  • ./mvnw -pl jfoundry-runtime/jfoundry-jakarta/jfoundry-transaction-jta,jfoundry-runtime/jfoundry-jakarta/jfoundry-domain-event-jta -am test
  • ./mvnw -pl jfoundry-runtime/jfoundry-jakarta/jfoundry-web-jaxrs,jfoundry-runtime/jfoundry-quarkus/runtime/jfoundry-quarkus-runtime,jfoundry-runtime/jfoundry-helidon/runtime/jfoundry-helidon-runtime -am test
  • ./mvnw validate
  • bash scripts/verify-dependency-boundaries-test.sh
  • bash scripts/verify-dependency-boundaries.sh
  • JAVA_25_HOME=/Users/huangxiao/.sdkman/candidates/java/25.2.4-graalce scripts/verify-ci-matrix.sh
  • JAVA_25_HOME=/Users/huangxiao/.sdkman/candidates/java/current GRAALVM_HOME=/Users/huangxiao/.sdkman/candidates/java/current bash scripts/verify-runtime-ci.sh quarkus --stage all
  • JAVA_25_HOME=/Users/huangxiao/.sdkman/candidates/java/current GRAALVM_HOME=/Users/huangxiao/.sdkman/candidates/java/current bash scripts/verify-runtime-ci.sh helidon --stage all

Compatibility

Existing Quarkus and Helidon public runtime entry-point class names, configuration keys, and runtime behavior remain unchanged. Runtime modules gain managed transitive dependencies on the shared Jakarta implementation artifacts. Cleanup failures are now attached as suppressed exceptions instead of replacing an existing primary failure. Spring and WebClient support are unchanged.

@youngledo
youngledo enabled auto-merge (rebase) August 26, 2026 03:18
@youngledo
youngledo merged commit e9bc798 into main Aug 26, 2026
20 checks passed
@youngledo
youngledo deleted the codex/jakarta-shared-adapters branch August 26, 2026 03:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant