首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WSO2ESB Rest与WSO2MB

WSO2ESB Rest与WSO2MB
EN

Stack Overflow用户
提问于 2015-07-21 07:58:20
回答 1查看 179关注 0票数 0

我有三个应用程序,应该一起通信,带宽限制超过100,000用户。

我们决定使用WSO2MB和WSO2ESB在应用程序之间发布消息。

问题是target.endpoint没有收到消息,我也不知道为什么。

代码语言:javascript
复制
  <api xmlns="http://ws.apache.org/ns/synapse" name="School" context="/schools">
   <resource methods="POST" url-mapping="/" faultSequence="fault">
      <inSequence>
         <log level="custom">
            <property name="Message Flow" value="--- Schools POST ---"></property>
         </log>
         <property name="REST_URL_POSTFIX" scope="axis2" action="remove"></property>
         <property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"></property>
         <property name="OUT_ONLY" value="true"></property>
         <property name="target.endpoint" value="Test.Endpoint"></property>
         <log level="custom">
            <property name="Message Flow" value="--- Schools POST ---"></property>
         </log>
         <store messageStore="JMSMS"></store>
         <log level="full"></log>
      </inSequence>
   </resource>
</api>

MessageStore

代码语言:javascript
复制
<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.connection.factory">QueueConnectionFactory</parameter>
   <parameter name="store.jms.username">admin</parameter>
   <parameter name="store.jms.password">admin</parameter>
   <parameter name="store.jms.JMSSpecVersion">1.1</parameter>
</messageStore>

消息处理机

代码语言:javascript
复制
<messageProcessor name="JMSMS" class="org.apache.synapse.message.processor.impl.forwarder.ScheduledMessageForwardingProcessor" targetEndpoint="Test.Endpoint" messageStore="JMSMS" xmlns="http://ws.apache.org/ns/synapse">
   <parameter name="interval">1000</parameter>
   <parameter name="client.retry.interval">1000</parameter>
   <parameter name="is.active">true</parameter>
</messageProcessor>

Jndi.properties

代码语言:javascript
复制
connectionfactory.QueueConnectionFactory = amqp://admin:admin@clientID/carbon?brokerlist='tcp://localhost:5673'
connectionfactory.TopicConnectionFactory = amqp://admin:admin@clientID/carbon?brokerlist='tcp://localhost:5673'

queue.JMSMS=JMSMS

编辑:

Test.Endpoint

代码语言:javascript
复制
    <?xml version="1.0" encoding="UTF-8"?>
<endpoint xmlns="http://ws.apache.org/ns/synapse" name="Test.Endpoint">
   <http method="post" uri-template="http://10.0.2.2:8000/super/test"/>
</endpoint>
EN

回答 1

Stack Overflow用户

发布于 2015-07-21 09:10:41

您已经定义了以下属性。但是你还没有在突触中定义端点。

代码语言:javascript
复制
 <property name="target.endpoint" value="Test.Endpoint"></property>

如果您已经将值定义为Test.Endpoint,则应该定义一个端点。

例如,

代码语言:javascript
复制
  <endpoint name="Test.Endpoint">
      <address uri="http://127.0.0.1:9000/services/SimpleStockQuoteService"/>
   </endpoint>

请查看我们的样本文档:https://docs.wso2.com/display/ESB481/Sample+702%3A+Introduction+to+Message+Forwarding+Processor

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31533377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档