From ae10dc4072765ec2f7c2406a767164a16fbb69aa Mon Sep 17 00:00:00 2001 From: Guillaume Nodet Date: Thu, 30 Jul 2026 08:41:56 +0200 Subject: [PATCH] fix: force LANG=C on IBM MQ 10.0 container to preserve CCSID 819 MQ 10.0 changed the default locale from C to C.utf8, causing the queue manager to use CCSID 1208 (UTF-8) instead of 819 (ISO 8859-1). This change breaks the JMS reply-to test (JmsReplyToIbmMQTest) where the reply message never reaches DEV.QUEUE.2. Force the C locale on the container to preserve the CCSID 819 behavior that was in place with MQ 9.4.x. Co-Authored-By: Claude Opus 4.6 --- .../ibmmq/services/IbmMQLocalContainerInfraService.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/test-infra/camel-test-infra-ibmmq/src/main/java/org/apache/camel/test/infra/ibmmq/services/IbmMQLocalContainerInfraService.java b/test-infra/camel-test-infra-ibmmq/src/main/java/org/apache/camel/test/infra/ibmmq/services/IbmMQLocalContainerInfraService.java index 41b577c539a1c..5f4a6f2dcf84c 100644 --- a/test-infra/camel-test-infra-ibmmq/src/main/java/org/apache/camel/test/infra/ibmmq/services/IbmMQLocalContainerInfraService.java +++ b/test-infra/camel-test-infra-ibmmq/src/main/java/org/apache/camel/test/infra/ibmmq/services/IbmMQLocalContainerInfraService.java @@ -70,6 +70,11 @@ public IbmMQContainer() { .withEnv("LICENSE", "accept") .withEnv("MQ_QMGR_NAME", IbmMQProperties.DEFAULT_QMGR_NAME) .withEnv("MQ_APP_PASSWORD", IbmMQProperties.DEFAULT_APP_PASSWORD) + // MQ 10.0 changed the default locale from C to C.utf8, which causes the + // queue manager to use CCSID 1208 (UTF-8) instead of 819 (ISO 8859-1). + // Force C locale to preserve CCSID 819 until the JMS reply-to mechanism + // is confirmed to work correctly with CCSID 1208. + .withEnv("LANG", "C") .withLogConsumer(new Slf4jLogConsumer(LOG)) // AND the listener-port and log-message checks; a plain chained waitingFor() would replace, // not combine, the strategies. WITH_INDIVIDUAL_TIMEOUTS_ONLY keeps each strategy's own timeout