简体   繁体   English

WSO2消息代理未收到消息

[英]WSO2 Message Broker not receiving message

i followed the official documentation dealing with the integration between WSO2 ESB and WSO2 MB. 我遵循有关WSO2 ESB和WSO2 MB之间集成的官方文档。

https://docs.wso2.com/display/MB210/Integrating+WSO2+ESB

On my WSO2 ESB 8.1.0 i wrote a simple proxy like this: 在我的WSO2 ESB 8.1.0中,我编写了一个简单的代理,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="jobReplicaFeed"
       transports="https,http"
       statistics="disable"
       trace="disable"
       startOnLoad="true">
   <target>
      <inSequence>
         <log level="full"/>
         <send>
            <endpoint key="ReplicaFeedEndpoint"/>
         </send>
      </inSequence>
      <outSequence>
         <log level="full"/>
      </outSequence>
   </target>
   <description/>
</proxy>

where ReplicaFeedEndpoint is like the following linsting: 其中ReplicaFeedEndpoint如下所示:

<endpoint xmlns="http://ws.apache.org/ns/synapse" name="ReplicaFeedEndpoint">
   <address uri="jms:/REPLICA_FEED?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&java.naming.factory.initial=org.wso2.andes.jndi.PropertiesFileInitialContextFactory&java.naming.provider.url=repository/conf/jndi.properties&transport.jms.DestinationType=topic">
      <suspendOnFailure>
         <progressionFactor>1.0</progressionFactor>
      </suspendOnFailure>
      <markForSuspension>
         <retriesBeforeSuspension>0</retriesBeforeSuspension>
         <retryDelay>0</retryDelay>
      </markForSuspension>
   </address>
</endpoint>

and this is my jndi.properties: 这是我的jndi.properties:

connectionfactory.QueueConnectionFactory = amqp://admin:admin@clientID/carbon?brokerlist='tcp://myHost:5672'
connectionfactory.TopicConnectionFactory = amqp://admin:admin@clientID/carbon?brokerlist='tcp://myHost:5672'

topic.MioEvento = REPLICA_FEED

using a simple REST client i'm trying to send a message to the proxy, expecting the same to be intercepted by the message broker. 使用一个简单的REST客户端,我试图将一条消息发送到代理,期望消息代理会截获该消息。 Nothing happens. 什么都没发生。 Furthermore, trying different times i get randomly this exception: 此外,尝试不同的时间,我会随机得到此异常:

TID: [0] [ESB] [2015-05-06 19:55:16,503] ERROR  {org.apache.axis2.transport.jms.JMSOutTransportInfo} -  Couldn't locate the JMS destination REPLICA_FEED of type topic/ extracted from the URL jms:/REPLICA_FEED?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&java.naming.factory.initial=org.wso2.andes.jndi.PropertiesFileInitialContextFactory&java.naming.provider.url=repository/conf/jndi.properties&transport.jms.DestinationType=topic/ {org.apache.axis2.transport.jms.JMSOutTransportInfo}
javax.naming.NameNotFoundException: dynamicQueues/REPLICA_FEED
at org.wso2.andes.jndi.ReadOnlyContext.lookup(ReadOnlyContext.java:271)
at javax.naming.InitialContext.lookup(InitialContext.java:411)
at org.apache.axis2.transport.jms.JMSUtils.lookup(JMSUtils.java:583)
at org.apache.axis2.transport.jms.JMSUtils.lookupDestination(JMSUtils.java:814)
at org.apache.axis2.transport.jms.JMSOutTransportInfo.getDestination(JMSOutTransportInfo.java:184)
at org.apache.axis2.transport.jms.JMSOutTransportInfo.loadConnectionFactoryFromProperties(JMSOutTransportInfo.java:132)
at org.apache.axis2.transport.jms.JMSOutTransportInfo.createJMSSender(JMSOutTransportInfo.java:330)
at org.apache.axis2.transport.jms.JMSSender.sendMessage(JMSSender.java:127)
at org.apache.axis2.transport.base.AbstractTransportSender.invoke(AbstractTransportSender.java:112)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
at org.apache.synapse.core.axis2.DynamicAxisOperation$DynamicOperationClient.send(DynamicAxisOperation.java:185)
at org.apache.synapse.core.axis2.DynamicAxisOperation$DynamicOperationClient.executeImpl(DynamicAxisOperation.java:167)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
at org.apache.synapse.core.axis2.Axis2FlexibleMEPClient.send(Axis2FlexibleMEPClient.java:482)
at org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:59)
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:338)
at org.apache.synapse.endpoints.AbstractEndpoint.send(AbstractEndpoint.java:333)
at org.apache.synapse.endpoints.AddressEndpoint.send(AddressEndpoint.java:59)
at org.apache.synapse.endpoints.IndirectEndpoint.send(IndirectEndpoint.java:54)
at org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:97)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:77)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:47)
at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:131)
at org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:166)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
at org.apache.synapse.transport.passthru.ServerWorker.processNonEntityEnclosingRESTHandler(ServerWorker.java:344)
at org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:385)
at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:183)
at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Threa

What could be the problem? 可能是什么问题呢? thanks 谢谢

In the endpoint definition, the uri contains the JNDI entry to the queue, where as the transport is defined as a topic. 在端点定义中,uri包含队列的JNDI条目,其中将传输定义为主题。

transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory 

Should be 应该

transport.jms.ConnectionFactoryJNDIName=TopicConnectionFactory

You can find further information in the following article on WSO2 ESB and MB Integration. 您可以在以下有关WSO2 ESB和MB集成的文章中找到更多信息。

http://wso2.com/library/articles/2013/03/configuring-wso2-esb-wso2-message-broker/ http://wso2.com/library/articles/2013/03/configuring-wso2-esb-wso2-message-broker/

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM