当前位置: 首页 > 知识库问答 >
问题:

WSO2 ESB填充JMS消息存储配置问题

杜霍英
2023-03-14

我试图从WSO2 ESB填充一个JMS消息存储。

<messageStore name="JMSMS" class="org.apache.synapse.message.store.impl.jms.JmsStore" 
xmlns="http://ws.apache.org/ns/synapse">
    <parameter name="java.naming.factory.initial">org.wso2.andes.jndi.PropertiesFileInitialContextFactory
    </parameter>
    <parameter name="java.naming.provider.url">repository/conf/jndi.properties</parameter>
    <parameter name="store.jms.destination">JMSMS</parameter>
    <parameter name="store.jms.username">admin</parameter>
    <parameter name="store.jms.password">admin</parameter>
    <parameter name="store.jms.JMSSpecVersion">1.1</parameter>

[2014-07-29 16:43:45,633]错误-JmsStore Store[JMSMS]。无法创建到代理的新连接。初始上下文工厂:[org.apache.qpid.jn di.PropertiesFileInitialContextFactory];提供程序URL:[repository/conf/jndi.properties];连接工厂:[null]。

我已经使用上面的java.naming.factory.initial成功地连接到一个标准的Message Broker队列作为endpoint,而无需通过消息存储。

我还尝试将java.naming.factory.initial的值更改为org.apache.qpid.jndi.propertiesFileInitialContextFactory,但得到了相同的错误。

干杯Macca

更新

下面是我正在使用的jndi.properties和axis2.xml配置

jndi.properties

connectionfactory.ConnectionFactory = amqp://admin:admin@clientID/carbon?brokerlist='tcp://inf02-3:5673'

queue.JMSMS=JMSMS

Axis2.xml

<transportSender name="jms" class="org.apache.axis2.transport.jms.JMSSender"> 
    <parameter name="default" locked="false"> 
        <parameter name="java.naming.factory.initial" locked="false">org.wso2.andes.jndi.PropertiesFileInitialContextFactory</parameter> 
        <parameter name="java.naming.provider.url" locked="false">repository/conf/jndi.properties</parameter> 
        <parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">ConnectionFactory</parameter> 
    </parameter> 
</transportSender>

共有1个答案

楚方伟
2023-03-14

出现“Connection Factory:[null]”错误的原因是ESB_HOME/repository/conf/jndi.properties中没有配置。

请重新检查一下,您可以找到一篇关于wso2库的非常好的文章--用wso2消息代理配置wso2 esb

 类似资料:
  • 我正在使用WSO2ESB4.7.0和ActiveMQ5.8.0。我希望将消息存储在队列中,为此我尝试使用这段代码,但它不工作。我创建了存储库,这将有助于存储消息,我的conumeing过程已经在JAVA代码中完成,所以我不必担心消费,如果我这样做了,我的消息将出现在acivemq UI中。我的配置如下所示 我试图通过代理传递消息,为此我编写了简单的代理服务 在这种情况下,我的队列没有在Active

  • 我的代理配置是: 为什么这样?他们的jms配置有问题吗?请引导我。

  • 我正在尝试让JMS消费者致力于ActiveMQ服务器,但是我遇到了一些问题,这些解决方案似乎只会导致更多问题。 我正在使用Spring的DMLC(cacheLeve设置为CACHE\u连接)和CachingConnectionFactory(cachingConsumers设置为true),将Activemq自己的连接工厂包装在部署在Jboss AS中的Webapp中。 据此http://acti

  • 我试图利用固有的WSO2ESB主题发布到jms队列。我已经创建了主题,并提供了一个订阅者URL:jms:/topictest?transport.jms.destinationtype=queue。然而,当我将消息发布到主题时,它不能被传递到队列。日志生成以下内容 “系统无法从jms:/queue?destination=topictest URL推断传输信息。” 另外,我似乎不知道如何发布到WS

  • 本文向大家介绍kafka的消息存储?相关面试题,主要包含被问及kafka的消息存储?时的应答技巧和注意事项,需要的朋友参考一下 kafka的消息存储在磁盘上,一个kafka topic分为一个或多个partition,每个partition单独存储自己的消息数据 partition将数据记录到.log文件中,为了避免文件过大影响查询效率,将文件分段处理 记录消息到.log文件中的同时,会记录消息o

  • 我正在尝试JMS队列的一个示例应用程序。。我希望队列中的消息保持在那里,直到我的标志设置为true。我使用的是spring框架和MDP侦听器,配置如下: 服务器上下文。xml: 我的onMessage有以下代码: 现在,当抛出异常时,消息会保留在队列中,并且控件会返回到再次收听相同消息并在一段时间后停止的同一侦听器。这会导致死队列。我无法存储该消息。我希望我的侦听器收听队列,但不是上一条消息,而是