2016-06-19 1 views
0

Я пытаюсь интегрировать wso2mb с wso2esb и использовать длительные темы для сохранения сообщений в очереди, когда абонент неактивен и восстанавливает их в будущем. Я использовал первый метод (интеграция с использованием JMS Endpoints и JMS Proxy Services) интеграции в документации wso2mb. Вот мой издатель прокси:wso2mb прочная подписка на тему не работает в интеграции с использованием JMS-концевых и JMS-прокси-сервисов

<?xml version="1.0" encoding="UTF-8"?> 
<proxy xmlns="http://ws.apache.org/ns/synapse" 
    name="InTopicProxy" 
    transports="https,http" 
    statistics="disable" 
    trace="disable" 
    startOnLoad="true"> 
    <target> 
    <inSequence> 
    <property name="OUT_ONLY" value="true"/> 
    <property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/> 
    <send> 
     <endpoint> 
      <address uri="jms:/MyDurbleTopic?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&amp;java.naming.factory.initial=org.wso2.andes.jndi.PropertiesFileInitialContextFactory&amp;java.naming.provider.url=repository/conf/jndi.properties&amp;transport.jms.DestinationType=topic"/> 
     </endpoint> 
    </send> 
    </inSequence> 
    </target> 
    <description/> 
    </proxy>\ 

и я использовал this answer создать потребительскую прокси и долговечный тему и вот мой абонент прокси:

<?xml version="1.0" encoding="UTF-8"?> 
<proxy xmlns="http://ws.apache.org/ns/synapse" 
    name="TopicSubProxy" 
    transports="jms" 
    statistics="disable" 
    trace="disable" 
    startOnLoad="true"> 
    <target> 
    <inSequence> 
    <property name="OUT_ONLY" value="true"/> 
    <log level="custom"> 
     <property name="STATE" value="dispatch message..."/> 
    </log> 
    <send> 
     <endpoint> 
      <address uri="http://localhost:9000/services/SimpleStockQuoteService"/> 
     </endpoint> 
    </send> 
    </inSequence> 
    <outSequence> 
    <send/> 
    </outSequence> 
    </target> 
    <parameter name="transport.jms.ContentType"> 
    <rules> 
    <jmsProperty>contentType</jmsProperty> 
    <default>text/xml</default> 
    </rules> 
    </parameter> 
    <parameter name="transport.jms.ConnectionFactory">myTopicConnectionFactory</parameter> 
    <parameter name="transport.jms.DestinationType">topic</parameter> 
    <parameter name="transport.jms.SubscriptionDurable">true</parameter> 
    <parameter name="transport.jms.Destination">MyDurbleTopic</parameter> 
    <parameter name="transport.jms.DurableSubscriberName">subId-x</parameter> 
    <parameter name="transport.jms.CacheLevel">consumer</parameter> 
    <parameter name="transport.jms.DurableSubscriberClientID">subId-x</parameter> 
    <description/> 
</proxy> 

Я могу назвать издатель прокси, используя SoapUI и абонент прокси будет потреблять сообщения и отправляет их в SimpleStockQuoteService (пример сервера wso2esb), но проблема в том, что я закрываю сервер, сообщения накапливаются в очереди тем и к тому времени, когда я снова запускаю сервер, абонент не потребляет и не выполняет отправлять накопленные сообщения на сервер, и мне интересно, когда я использую wso2mb withou t wso2esb и JMS-клиент с java-кодом, долговечная тема отлично работает и потребляет сообщения после запуска сервера. любые идеи?

+0

Вы выключая сервер ESB? –

+0

Нет, я закрыл сервер назначения, например SimpleQuoteStock, и отправил сообщения в тему, после запуска сервера снова, я хочу, чтобы сообщения отправлялись на сервер, но ничего не происходит, только сообщения накапливаются в теме. –

+0

проблема решена whit this link, Большое спасибо http://wso2.com/library/other/2015/12/article-how-to-achieve-delivery-reliability-with-dead-letter-channel-pattern -part -2 / –

ответ

0

Проблема решена с последовательностью посредничества и последовательности ошибок с помощью этого link

Смежные вопросы