Этот код отправляет сообщение в Q. Статические значения MQEnvironment установлены. Но MQEnvironment - это без ссылки в любом месте менеджера. Затем, как предоставляются свойства (имя хоста, канал, порт, CCSID) для подключения к MQ?Статические свойства Java MQEnvironment
MQEnvironment.hostname ="10.XX.XXX.XX";
MQEnvironment.channel = "SYSTEM.DEF.SVRCONN";
MQEnvironment.port = 1415;
MQEnvironment.CCSID = 819;
System.out.println("connecting MQQueueManager...");
try {
MQQueueManager manager = new MQQueueManager("SXX");
MQQueue queue = null;
int openOptions = MQC.MQOO_OUTPUT; //MQC.MQOO_INPUT_AS_Q_DEF |
queue = manager.accessQueue("Q_NAME",
openOptions,
null, null, null);
// send message
MQMessage sendMessage = new MQMessage();
sendMessage.writeObject("TEST [email protected]@@@@@@@@@@@@@@@@");
MQPutMessageOptions pmo = new MQPutMessageOptions();
queue.put(sendMessage, pmo);
Есть ли способ установить их непосредственно в MQQueueManager.java? – hipokito
Что? Имя канала, имя хоста и порт #? Не используйте класс MQEnvironment, поскольку он не является потокобезопасным. Поместите информацию в Hashtable и передайте ее классу MQQueueManager. См. Https://stackoverflow.com/questions/34628283/java-program-to-connect-wmq-with-user-id-instead-of-channel/34642355#34642355 – Roger