簡體   English   中英

通過Java程序使用MQ客戶端訪問遠程IBM MQ Server隊列

[英]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程序連接到同一服務器隊列?

我的要求是:

  1. 在另一台機器上運行的MQ Server。
  2. 使用安裝在本地計算機上的MQ客戶端連接到服務器隊列。
  3. Java程序應通過本地MQ客戶端向服務器隊列發送/接收消息。

我怎樣才能做到這一點?

您將需要為應用程序指定連接參數,以連接到遠程計算機上的隊列管理器。 例如:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM