Fix saga example: Artemis autoconfig, run-local pid tracking, unauthenticated broker image - #212
Open
Croway wants to merge 1 commit into
Open
Fix saga example: Artemis autoconfig, run-local pid tracking, unauthenticated broker image#212Croway wants to merge 1 commit into
Croway wants to merge 1 commit into
Conversation
…nticated broker image Under Spring Boot 4, Artemis autoconfiguration moved to spring-boot-starter-artemis, which the saga poms didn't declare (only raw artemis-jakarta-client/pooled-jms), so spring.artemis.* properties were silently ignored and all 4 services crashed with "connectionFactory must be specified". Add spring-boot-starter-artemis. run-local.sh never redirected output or captured PIDs into the .pid/.log files that stop-local.sh expects, breaking the stop script. Also, mvn spring-boot:run always forks a child JVM, so the captured PID was the mvn wrapper, not the actual process; stop-local.sh now kills the forked child(ren) too. Replace the Red Hat registry AMQ broker image (registry.redhat.io/amq7/amq-broker-rhel8, requires authenticated registry credentials) with the unauthenticated apache/artemis image in both the local docker-compose file and the OpenShift resources, since Artemis supports OPENWIRE (and the other protocols the saga services need) out of the box. Verified end-to-end locally: broker/coordinator start, all 4 services boot without the connectionFactory crash, and a full saga run completes (train reserved, flight booked, both payments processed over JMS/OPENWIRE). Verified stop-local.sh now actually terminates the JVM processes and containers. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EbjZemqMg395XFGDRekLBM
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
spring-boot-starter-artemis, which the saga poms didn't declare (only rawartemis-jakarta-client/pooled-jms), sospring.artemis.*properties were silently ignored and all 4 services crashed withconnectionFactory must be specified. Addedspring-boot-starter-artemis.run-local.shnever redirected output or captured PIDs into the.pid/.logfiles thatstop-local.shexpects, breaking the stop script. Also,mvn spring-boot:runalways forks a child JVM, so the captured PID was the mvn wrapper, not the actual process —stop-local.shnow kills the forked child(ren) too.registry.redhat.io/amq7/amq-broker-rhel8, requires authenticated registry credentials) with the unauthenticatedapache/artemisimage, in both the local docker-compose file and the OpenShift resources, since Artemis supports OPENWIRE (and the other protocols the saga services need) out of the box.Test plan
mvn clean packagebuilds all 4 saga modules with the new dependencydocker compose -f local-resources/compose.yaml pullsucceeds with no registry auth for bothapache/artemis:latest-alpineandquay.io/jbosstm/lra-coordinator:latestpayment,flight,train,app) start cleanly with noconnectionFactory must be specifiedcrash, JMS routes activatecurl -X POST http://localhost:8084/api/saga?id=1: train reserved, flight booked, both payments processed over JMS/OPENWIRErun-local.shcorrectly writes.pid/.logfilesstop-local.shnow actually terminates the JVM processes (not just the mvn wrapper) and stops the containers