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]