【发布时间】:2013-11-29 09:30:48
【问题描述】:
我想知道如何配置 JMS 传输以使用 IBM MessageSight,类似于:http://docs.wso2.org/display/ESB460/Configure+with+ActiveMQ
现在,我在axis2.xml中有以下内容:
<transportReceiver name="ibmMsgSightJMS" class="org.apache.axis2.transport.jms.JMSListener">
<parameter name="myTopicConnectionFactory" locked="false">
<parameter name="java.naming.factory.initial" locked="false">com.ibm.ima.jms.ImaJmsFactory</parameter>
<parameter name="java.naming.provider.url" locked="false">tcp://192.168.154.128:1883</parameter>
<parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">TopicConnectionFactory</parameter>
<parameter name="transport.jms.ConnectionFactoryType" locked="false">topic</parameter>
</parameter>
<parameter name="myQueueConnectionFactory" locked="false">
<parameter name="java.naming.factory.initial" locked="false">com.ibm.ima.jms.ImaJmsFactory</parameter>
<parameter name="java.naming.provider.url" locked="false">tcp://192.168.154.128:1883</parameter>
<parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">QueueConnectionFactory</parameter>
<parameter name="transport.jms.ConnectionFactoryType" locked="false">queue</parameter>
</parameter>
<parameter name="default" locked="false">
<parameter name="java.naming.factory.initial" locked="false">com.ibm.ima.jms.ImaJmsFactory</parameter>
<parameter name="java.naming.provider.url" locked="false">tcp://192.168.154.128:1883</parameter>
<parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">QueueConnectionFactory</parameter>
<parameter name="transport.jms.ConnectionFactoryType" locked="false">queue</parameter>
</parameter>
</transportReceiver>
我在 ESB 代理服务中有这样的东西:
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="esbProcessMqttJMSPS" statistics="disable" trace="disable" transports="ibmMsgSightJMS">
<parameter name="transport.jms.ConcurrentConsumers">1</parameter>
<parameter name="transport.jms.ConnectionFactory">myTopicConnectionFactory</parameter>
<parameter name="transport.jms.DestinationType">B</parameter>
<parameter name="transport.jms.Destination">B</parameter>
</proxy>
当我启动 ESB 服务器时,我收到以下错误:无法获取 JNDI 上下文,JMS 连接工厂:TopicConnectionFactory 或默认目标:JMS CF 为空
任何帮助将不胜感激。谢谢!
【问题讨论】:
-
在您的代理服务中,“transport.jms.DestinationType”应该是“主题”。传输目的地类型接受的值为“队列”或“主题”。你能检查一下上面的变化吗? axis.apache.org/axis2/java/transports/…:axis.apache.org/axis2/java/transports/…
-
好电话 - 我在玩弄东西,忘了改回来。