簡體   English   中英

如何從沒有JNDI屬性的JMS發布者連接到IBM MQ?

[英]How to connect to IBM MQ from JMS publisher without JNDI properties?

我一直在嘗試從JMeter JMS發布者連接到IBM MQ。 無法找到更正的“初始上下文工廠”和“連接工廠”值以在沒有JNDI屬性的情況下使用。 我的LIB文件夾中存在所有MQ罐。

我具有以下信息主機名-Venus,端口-21717,目標隊列名稱-request.queue,隊列管理器-venus.QMGR,通道-venus.server.chl(無需授權)。

我的要求-使用具有上述詳細信息的JMS Publisher連接到IBM MQ。 但是我無法弄清楚要提供的提供商URL,初始上下文工廠和連接工廠。 您能幫上忙嗎,因為這已經困擾了我兩周了,還找不到解決方案? 如果您能告訴我有關在JMS Publisher中填充上述值以及連接到IBM MQ的位置的信息,那將很好。

我也嘗試過使用user.classpath = / folder / with / mq / jars,但是它不起作用,並且所有的jar都在適當的位置,JMeter重新啟動仍然沒有運氣。

注意:這兩個星期我瀏覽了所有站點,但沒有任何運氣。

示例配置步驟如下所示:

  1. javax.jms-api.-xxx jar添加到JMeter Classpath
  2. mq-allclient-xxxxjar添加到JMeter類路徑
  3. JSR223采樣器添加到您的測試計划
  4. 將以下代碼放入“腳本”區域:

     import com.ibm.jms.JMSTextMessage; import com.ibm.mq.jms.*; import com.ibm.msg.client.wmq.WMQConstants; import javax.jms.JMSException; import javax.jms.Session; MQQueueConnectionFactory cf = new MQQueueConnectionFactory(); cf.setHostName("your_IBMMQ_host"); cf.setPort(1414); // or other port cf.setIntProperty(WMQConstants.WMQ_CONNECTION_MODE, WMQConstants.WMQ_CM_CLIENT); cf.setQueueManager("your_IBMMQ_queue_manager"); cf.setChannel("your_IBMMQ_channel"); cf.setStringProperty(WMQConstants.USERID, "your_IBMMQ_username"); cf.setStringProperty(WMQConstants.PASSWORD, "your_IBMMQ_password"); connection = (MQQueueConnection) cf.createQueueConnection(); MQQueueSession session = (MQQueueSession) connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); MQQueue queue = (MQQueue) session.createQueue("queue:///your_IBMMQ_queue"); MQQueueSender sender = (MQQueueSender) session.createSender(queue); JMSTextMessage message = (JMSTextMessage) session.createTextMessage("your_message_body"); connection.start(); sender.send(message); 

更多信息:

根據您的確切要求,您可能會對JMSToolBox感興趣,它可能會定義scripts來從存儲在目錄中的csv文件中讀取有效負載,然后將其創建並作為消息模板中的JMS消息發布到MQ Q中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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