我想使用JMS連接到IBM MQ。 如何指定隊列管理器,通道和其他屬性?使用JMS連接到IBM MQ
9
A
回答
6
使用JNDI進行的connectionFactory /目的地查找,提供InitialContext
具有以下屬性:
java.naming.provider.url=<ip>:<port, default is 1414>/<channel name, default channel is SYSTEM.DEF.SVRCONN>
java.naming.factory.initial=com.ibm.mq.jms.context.WMQInitialContextFactory
java.naming.security.authentication=none
java.naming.security.credentials=
java.naming.security.principal=
使用WAS(WebSphere應用服務器)隊列,屬性將是如下:
java.naming.provider.url=iiop://<ip>:<port, the defualt is 2809>
java.naming.factory.initial=com.ibm.websphere.naming.WsnInitialContextFactory
java.naming.security.authentication=none
java.naming.security.credentials=
java.naming.security.principal=
其餘部分將如下:
Properties config = new Properties();
config.load(new FileInputStream("connectionConfig.properties"));// this file would contain the properties above
InitialContext context = new InitialContext(config);
ConnectionFactory factory = (ConnectionFactory) context.lookup("ConnectionFactory");// connection factory name
Destination destination = (Destination) context.lookup("destination");// queue/topic name
-1
最好的方法是使用命令行。太有趣了。您可以從http://publib.boulder.ibm.com/iseries/v5r2/ic2924/books/csqzaj05.pdf
下載命令參考手冊如果您的MQ服務器在Windows計算機上運行,您可以選擇使用MQExplorer並以圖形方式對其進行配置。
2
這裏的a tutorial,可以幫助:
另外,一定要使用文檔的WMQ的正確版本。 V7.0是當前和v6.0的支持,直到2011年9月無論你正在使用,看看使用Java手冊正確的版本:
2
使用IBM客戶端API
import com.ibm.mq.MQEnvironment;
import com.ibm.mq.MQQueue;
import com.ibm.mq.MQQueueManager;
import com.ibm.mq.constants.CMQC;
public class QueueMonitoring {
public static void main(String[] args) {
int openOptions = CMQC.MQOO_INQUIRE | CMQC.MQOO_INPUT_AS_Q_DEF;
MQEnvironment.hostname = "192.168.59.103";
MQEnvironment.port = 1414;
MQEnvironment.channel = "SYSTEM.DEF.SVRCONN";
MQEnvironment.properties.put(CMQC.TRANSPORT_PROPERTY,CMQC.TRANSPORT_MQSERIES);
MQQueueManager qMgr;
try {
qMgr = new MQQueueManager("QM1");
MQQueue destQueue = qMgr.accessQueue("DOCKERQ", openOptions);
System.out.println("Queue size:" + destQueue.getCurrentDepth());
destQueue.close();
qMgr.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
}
}
2
你需要創建一個MQQueueConnectionFactory豆,並在其中設置所需的性能。
<bean id="queueConnectionFactory" class="com.ibm.mq.jms.MQQueueConnectionFactory">
<property name="transportType" ref="transport" />
<property name="queueManager" value="queueManagerName" />
<property name="hostName" value="hostName" />
<property name="port" value="portNumber" />
<property name="channel" value="channelName" />
</bean>
<bean id="transport"
class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean">
<property name="staticField">
<value>
com.ibm.mq.jms.JMSC.MQJMS_TP_CLIENT_MQ_TCPIP
</value>
</property>
</bean>
相關問題
- 1. JMS連接 - 啓動方法(IBM MQ impl)
- 2. 使用JMS中的CCDT文件連接到IBM MQ
- 3. IBM JMS連接
- 4. 從UFT連接到IBM MQ
- 5. 如何在IBM MQ JMS接口上使用JMS屬性?
- 6. IBM WebSphere MQ JMS Jar文件
- 7. IBM MQ vs JMS - Spring實現
- 8. 使用WMQInitialContextFactory連接IBM MQ版本8
- 9. JMS無法連接到WebSphere MQ
- 10. 春JMS到WebSphere MQ連接錯誤
- 11. Jmeter2.9與IBM MQ未連接
- 12. IBM MQ和Weblogic JMS之間的連接身份驗證
- 13. 用jms連接到ibm mq。指定通道和隊列管理器
- 14. Websphere MQ使用JMS,閉合連接停留在MQ
- 15. 使用MQClient java和MQExplorer錯誤將JMS連接到MQ JMSWMQ2013
- 16. 如何從沒有JNDI屬性的JMS發佈服務器連接到IBM MQ?
- 17. 使用.Net連接到IBM WebSphere MQ會引發錯誤MQRC_NOT_AUTHORIZED
- 18. 使用activemq客戶端連接到ibm mq代理程序
- 19. 使用java連接到ibm mq 7.5的問題
- 20. IBM MQ類JMS - 發送消息
- 21. 帶有JMS和.Net的IBM MQ
- 22. IBM MQ JMS消息監聽器
- 23. wso2 ESB - websphere MQ JMS丟失連接
- 24. Spring MQ JMS重新連接配置
- 25. IBM MQ集羣連接問題
- 26. Delphi - IBM WebSphere MQ安裝和連接
- 27. 如何驗證池的IBM MQ連接
- 28. IBM WAS7.x到IBM MQ 8
- 29. 是使用JMS可以實現的IBM MQ消息分段嗎?
- 30. 在JVM集羣中使用JMS的IBM MQ偵聽器
我無法找到com.ibm.websphere.naming.WsnInitialContextFactory any where,help – 2018-02-20 13:42:43