This is an automated email from the ASF dual-hosted git repository.

pjfanning pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pekko-connectors.git


The following commit(s) were added to refs/heads/main by this push:
     new e3d4f2645 JMS: update IBM MQ test image to icr.io/ibm-messaging/mq 
(#1899)
e3d4f2645 is described below

commit e3d4f26456315b40fb67e0f558f04e9e389f878c
Author: PJ Fanning <[email protected]>
AuthorDate: Fri Sep 4 09:46:37 2026 +0100

    JMS: update IBM MQ test image to icr.io/ibm-messaging/mq (#1899)
    
    * JMS: update IBM MQ test image to icr.io/ibm-messaging/mq
    
    * set app password required by modern IBM MQ developer images
    
    * add credentials to topic connection factories too
---
 docker-compose.yml                                                | 3 ++-
 docs/src/main/paradox/jms/ibm-mq.md                               | 6 +++---
 jakartams/src/test/java/docs/javadsl/JmsIbmmqConnectorsTest.java  | 6 +++++-
 .../src/test/scala/docs/scaladsl/JmsIbmmqConnectorsSpec.scala     | 8 +++++++-
 jms/src/test/java/docs/javadsl/JmsIbmmqConnectorsTest.java        | 6 +++++-
 jms/src/test/scala/docs/scaladsl/JmsIbmmqConnectorsSpec.scala     | 8 +++++++-
 6 files changed, 29 insertions(+), 8 deletions(-)

diff --git a/docker-compose.yml b/docker-compose.yml
index 24e739da0..a9ca0093b 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -115,10 +115,11 @@ services:
       - 16201:16201
       - 16301:16301
   ibmmq:
-    image: ibmcom/mq:latest
+    image: icr.io/ibm-messaging/mq:9.4.5.1-r1
     environment:
       LICENSE: accept
       MQ_QMGR_NAME: QM1
+      MQ_APP_PASSWORD: passw0rd
     ports:
       - "1414:1414"
       - "9443:9443"
diff --git a/docs/src/main/paradox/jms/ibm-mq.md 
b/docs/src/main/paradox/jms/ibm-mq.md
index d751b5fc6..23ce94695 100644
--- a/docs/src/main/paradox/jms/ibm-mq.md
+++ b/docs/src/main/paradox/jms/ibm-mq.md
@@ -3,11 +3,11 @@
 You can use IBM MQ like any other JMS Provider by creating a 
`QueueConnectionFactory` or a `TopicConnectionFactory`
 and creating a `JmsConsumerSettings` or `JmsProducerSettings` from it.
 The below snippets have been tested with a default IBM MQ docker image which 
contains queues and topics for testing.
-The following command starts MQ 9 using docker:
+The following command starts MQ using docker:
 
-    docker run --env LICENSE=accept --env MQ_QMGR_NAME=QM1 --publish 1414:1414 
--publish 9443:9443 ibmcom/mq:9.1.1.0
+    docker run --env LICENSE=accept --env MQ_QMGR_NAME=QM1 --env 
MQ_APP_PASSWORD=passw0rd --publish 1414:1414 --publish 9443:9443 
icr.io/ibm-messaging/mq:9.4.5.1-r1
 
-MQ settings for this image are shown here: 
https://github.com/ibm-messaging/mq-docker#mq-developer-defaults
+MQ settings for this image are shown here: 
https://github.com/ibm-messaging/mq-container/blob/master/docs/developer-config.md
 
 ## Artifacts
 
diff --git a/jakartams/src/test/java/docs/javadsl/JmsIbmmqConnectorsTest.java 
b/jakartams/src/test/java/docs/javadsl/JmsIbmmqConnectorsTest.java
index faaf0946f..3f82bca24 100644
--- a/jakartams/src/test/java/docs/javadsl/JmsIbmmqConnectorsTest.java
+++ b/jakartams/src/test/java/docs/javadsl/JmsIbmmqConnectorsTest.java
@@ -19,6 +19,7 @@ import com.ibm.mq.jakarta.jms.MQConnectionFactory;
 import com.ibm.mq.jakarta.jms.MQQueueConnectionFactory;
 import com.ibm.mq.jakarta.jms.MQQueueSession;
 import com.ibm.mq.jakarta.jms.MQTopicConnectionFactory;
+import com.ibm.msg.client.jakarta.jms.JmsConstants;
 import com.ibm.msg.client.jakarta.wmq.common.CommonConstants;
 import jakarta.jms.Destination;
 import jakarta.jms.JMSException;
@@ -74,11 +75,14 @@ public class JmsIbmmqConnectorsTest {
   private static MQConnectionFactory initDefaultFactory(MQConnectionFactory 
connectionFactory)
       throws JMSException {
     // #ibmmq-connection-factory
-    // align to docker image: ibmcom/mq:9.1.1.0
+    // align to docker image: icr.io/ibm-messaging/mq
     connectionFactory.setHostName("localhost");
     connectionFactory.setPort(1414);
     connectionFactory.setQueueManager("QM1");
     connectionFactory.setChannel("DEV.APP.SVRCONN");
+    // the developer image requires a password for the "app" user since MQ 
9.3.4
+    connectionFactory.setStringProperty(JmsConstants.USERID, "app");
+    connectionFactory.setStringProperty(JmsConstants.PASSWORD, "passw0rd");
 
     // #ibmmq-connection-factory
     return connectionFactory;
diff --git 
a/jakartams/src/test/scala/docs/scaladsl/JmsIbmmqConnectorsSpec.scala 
b/jakartams/src/test/scala/docs/scaladsl/JmsIbmmqConnectorsSpec.scala
index 79d0411d3..b9de7ce99 100644
--- a/jakartams/src/test/scala/docs/scaladsl/JmsIbmmqConnectorsSpec.scala
+++ b/jakartams/src/test/scala/docs/scaladsl/JmsIbmmqConnectorsSpec.scala
@@ -14,6 +14,7 @@
 package docs.scaladsl
 
 import com.ibm.mq.jakarta.jms.{ MQQueueConnectionFactory, MQQueueSession, 
MQTopicConnectionFactory }
+import com.ibm.msg.client.jakarta.jms.JmsConstants
 import com.ibm.msg.client.jakarta.wmq.common.CommonConstants
 import org.apache.pekko
 import pekko.Done
@@ -35,11 +36,14 @@ class JmsIbmmqConnectorsSpec extends JmsSpec {
       // Create the IBM MQ MQQueueConnectionFactory
       val connectionFactory = new MQQueueConnectionFactory()
 
-      // align to docker image: ibmcom/mq:9.1.1.0
+      // align to docker image: icr.io/ibm-messaging/mq
       connectionFactory.setHostName("localhost")
       connectionFactory.setPort(1414)
       connectionFactory.setQueueManager("QM1")
       connectionFactory.setChannel("DEV.APP.SVRCONN")
+      // the developer image requires a password for the "app" user since MQ 
9.3.4
+      connectionFactory.setStringProperty(JmsConstants.USERID, "app")
+      connectionFactory.setStringProperty(JmsConstants.PASSWORD, "passw0rd")
 
       // #ibmmq-connection-factory
 
@@ -124,6 +128,8 @@ class JmsIbmmqConnectorsSpec extends JmsSpec {
       topicConnectionFactory.setPort(1414)
       topicConnectionFactory.setQueueManager("QM1")
       topicConnectionFactory.setChannel("DEV.APP.SVRCONN")
+      topicConnectionFactory.setStringProperty(JmsConstants.USERID, "app")
+      topicConnectionFactory.setStringProperty(JmsConstants.PASSWORD, 
"passw0rd")
 
       // #ibmmq-topic
       // Connect to IBM MQ over TCP/IP
diff --git a/jms/src/test/java/docs/javadsl/JmsIbmmqConnectorsTest.java 
b/jms/src/test/java/docs/javadsl/JmsIbmmqConnectorsTest.java
index 8d2bb48eb..2a3a99e3c 100644
--- a/jms/src/test/java/docs/javadsl/JmsIbmmqConnectorsTest.java
+++ b/jms/src/test/java/docs/javadsl/JmsIbmmqConnectorsTest.java
@@ -19,6 +19,7 @@ import com.ibm.mq.jms.MQConnectionFactory;
 import com.ibm.mq.jms.MQQueueConnectionFactory;
 import com.ibm.mq.jms.MQQueueSession;
 import com.ibm.mq.jms.MQTopicConnectionFactory;
+import com.ibm.msg.client.jms.JmsConstants;
 import com.ibm.msg.client.wmq.common.CommonConstants;
 import java.util.ArrayList;
 import java.util.Collections;
@@ -74,11 +75,14 @@ public class JmsIbmmqConnectorsTest {
   private static MQConnectionFactory initDefaultFactory(MQConnectionFactory 
connectionFactory)
       throws JMSException {
     // #ibmmq-connection-factory
-    // align to docker image: ibmcom/mq:9.1.1.0
+    // align to docker image: icr.io/ibm-messaging/mq
     connectionFactory.setHostName("localhost");
     connectionFactory.setPort(1414);
     connectionFactory.setQueueManager("QM1");
     connectionFactory.setChannel("DEV.APP.SVRCONN");
+    // the developer image requires a password for the "app" user since MQ 
9.3.4
+    connectionFactory.setStringProperty(JmsConstants.USERID, "app");
+    connectionFactory.setStringProperty(JmsConstants.PASSWORD, "passw0rd");
 
     // #ibmmq-connection-factory
     return connectionFactory;
diff --git a/jms/src/test/scala/docs/scaladsl/JmsIbmmqConnectorsSpec.scala 
b/jms/src/test/scala/docs/scaladsl/JmsIbmmqConnectorsSpec.scala
index 7da5909b3..eb4048249 100644
--- a/jms/src/test/scala/docs/scaladsl/JmsIbmmqConnectorsSpec.scala
+++ b/jms/src/test/scala/docs/scaladsl/JmsIbmmqConnectorsSpec.scala
@@ -19,6 +19,7 @@ import pekko.stream.connectors.jms._
 import pekko.stream.connectors.jms.scaladsl.{ JmsConsumer, JmsConsumerControl, 
JmsProducer }
 import pekko.stream.scaladsl.{ Sink, Source }
 import com.ibm.mq.jms.{ MQQueueConnectionFactory, MQQueueSession, 
MQTopicConnectionFactory }
+import com.ibm.msg.client.jms.JmsConstants
 import com.ibm.msg.client.wmq.common.CommonConstants
 import javax.jms.{ Session, TextMessage }
 import scala.collection.immutable
@@ -34,11 +35,14 @@ class JmsIbmmqConnectorsSpec extends JmsSpec {
       // Create the IBM MQ MQQueueConnectionFactory
       val connectionFactory = new MQQueueConnectionFactory()
 
-      // align to docker image: ibmcom/mq:9.1.1.0
+      // align to docker image: icr.io/ibm-messaging/mq
       connectionFactory.setHostName("localhost")
       connectionFactory.setPort(1414)
       connectionFactory.setQueueManager("QM1")
       connectionFactory.setChannel("DEV.APP.SVRCONN")
+      // the developer image requires a password for the "app" user since MQ 
9.3.4
+      connectionFactory.setStringProperty(JmsConstants.USERID, "app")
+      connectionFactory.setStringProperty(JmsConstants.PASSWORD, "passw0rd")
 
       // #ibmmq-connection-factory
 
@@ -123,6 +127,8 @@ class JmsIbmmqConnectorsSpec extends JmsSpec {
       topicConnectionFactory.setPort(1414)
       topicConnectionFactory.setQueueManager("QM1")
       topicConnectionFactory.setChannel("DEV.APP.SVRCONN")
+      topicConnectionFactory.setStringProperty(JmsConstants.USERID, "app")
+      topicConnectionFactory.setStringProperty(JmsConstants.PASSWORD, 
"passw0rd")
 
       // #ibmmq-topic
       // Connect to IBM MQ over TCP/IP


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to