![](/img/trans.png)
[英]How to access all the queue managers by connecting to the IBM MQ Server using IBM MQ classes in java
[英]Access Remote IBM MQ Server Queue using MQ Client through a java program
我對IBM MQ比較陌生。
我的要求是通過IBM MQ Client連接到遠程IBM MQ Server隊列。 然后,使用IBM MQ Java API通過MQ客戶端訪問隊列。
這是正確的方法嗎?
我已經在本地計算機上設置了IBM MQ Server和IBM MQ Explorer,並創建了一個隊列管理器Queue。 我還編寫了一個Java程序,以使用IBM MQ API連接到MQ。
此Java程序具有以下參數:
String queueManagerName = "QUEUE.MANAGER.1";
String userID = "";
String password = "";
String queueName = "QUEUE1";
String hostName = "localhost";
String channel = "CHANNEL1";
int port = 1414;
在這里,一切似乎都正常。 我可以通過Java程序從MQ服務器隊列發送消息/從MQ服務器隊列接收消息。
現在,我已經在同一台機器上安裝了IBM MQ Client,如何通過MQ Client使用java程序連接到同一服務器隊列?
我怎樣才能做到這一點?
您將需要為應用程序指定連接參數,以連接到遠程計算機上的隊列管理器。 例如:
String queueManagerName = "<Remote queue manager name>";
String userID = "<valid user existing on remote machine>";
String password = "<password for user>";
String hostName = "<remote host name>";
String channel = "<Channel name on remote queue manager>";
int port = <port number where queue manager is listening>;
但是您將需要在遠程隊列管理器上配置身份驗證和授權,以使應用程序連接。 如果未配置,則將收到MQRC 2035-NOT_AUTHORIZED錯誤。
String mqHost = null; // Hostname
String mqPort = null; // Port
String mqChannel = null; // Channel
String mqQMgr = null; // Queue Manager
MQQueueManager qMgr = null;
MQEnvironment.hostname = mqHost;
MQEnvironment.port = Integer.valueOf(mqPort).intValue();
MQEnvironment.channel = mqChannel;
MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES);
MQEnvironment.userID = "USERID";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.