java - MQ 客户端应用程序连接到客户端
问题描述
我编写了一个客户端应用程序来连接到 MQ。它在 svrconn 频道上工作正常,但在其他频道上不工作。
我的代码:
try {
// Create a connection factory
JmsFactoryFactory ff = JmsFactoryFactory.getInstance(WMQConstants.WMQ_PROVIDER);
JmsConnectionFactory cf = ff.createConnectionFactory();
// Set the properties
cf.setStringProperty(WMQConstants.WMQ_HOST_NAME, HOST);
cf.setIntProperty(WMQConstants.WMQ_PORT, PORT);
cf.setStringProperty(WMQConstants.WMQ_CHANNEL, CHANNEL);
cf.setIntProperty(WMQConstants.WMQ_CONNECTION_MODE, WMQConstants.WMQ_CM_CLIENT);
cf.setStringProperty(WMQConstants.WMQ_QUEUE_MANAGER, QMGR);
cf.setStringProperty(WMQConstants.WMQ_APPLICATIONNAME, "JmsPutGet (JMS)");
cf.setBooleanProperty(WMQConstants.USER_AUTHENTICATION_MQCSP, true);
cf.setStringProperty(WMQConstants.USERID, APP_USER);
cf.setStringProperty(WMQConstants.PASSWORD, APP_PASSWORD);
// Create JMS objects
context = cf.createContext();
destination = context.createQueue("queue:///" + QUEUE_NAME);
long uniqueNumber = System.currentTimeMillis() % 1000;
TextMessage message = context.createTextMessage("Your lucky number today is " + uniqueNumber);
producer = context.createProducer();
producer.send(destination, message);
System.out.println("Sent message:\n" + message);
consumer = context.createConsumer(destination); // autoclosable
String receivedMessage = consumer.receiveBody(String.class, 15000); // in ms or 15 seconds
System.out.println("\nReceived message:\n" + receivedMessage);
recordSuccess();
}
请帮忙解决这两个问题:
- 如何连接到处于客户端模式的 qmgr?
- 如何使此代码也连接到其他频道?
现在,当我尝试使用其他频道时,它会出现以下错误:
JMSWMQ0018: Failed to connect to a queue manager 'qmgr name' with connection mode 'Client'
解决方案
您已指定频道名称, cf.setStringProperty(WMQConstants.WMQ_CHANNEL, CHANNEL);
如果您使用cf.setStringProperty(WMQConstants.WMQ_CHANNEL, "MYOTHERCHANNEL");
它将尝试使用该频道名称而不是您指定的名称
推荐阅读
- python - 使用其他向量中的值将转换应用于 Numpy 向量
- qr-code - 我如何自己创建带有徽标的 QR 码
- java - 模拟 config.getInt()
- amazon-web-services - Go Lambda 的 AWS ALB 总是返回“502 Bad Gateway”
- asp.net-mvc-4 - 如何使用 asp.net Mvc4 和 Visual Studio Express 2012 连接到本地数据库?
- c++ - 为什么在这个代码结束循环中没有结束?
- java - java - 如何让ObjectInputStream从java文件中读取所有对象?
- sql - SQL:(断言)一列的值应该等于另一个表中属于用户ID的行数
- php - 使用友好的 URL 和 OOP 在 PHP 中显示保存在 mysql 中的图像
- flutter - Flutter:如何从运行时更改主题?