Как да четете данни от файл и да ги съхранявате в хранилището за съобщения в WSO2

Може ли някой да предложи как мога да чета данни от един файл и да го добавя към хранилище за съобщения.

Опитвам се да разработя функция за повторно изпращане на съобщение в ESB.

Идея:

Съобщението отива от една прокси услуга до целевата точка

Запазване на съобщения в различни файлове (по едно съобщение на файл).

Напишете друга прокси услуга, която ще чете съдържание от всички файлове от папка и ще ги поставя в хранилище за съобщения.

Сега процесор ще бъде в горната част на магазина, който ще изпраща съобщения от магазина до крайната точка.

Поздрави Махеш


person user3592182    schedule 14.05.2014    source източник


Отговори (2)


Магазин за съобщения "MyStore" в ActiveMQ:

<messageStore xmlns="http://ws.apache.org/ns/synapse" class="org.wso2.carbon.message.store.persistence.jms.JMSMessageStore" name="MyStore">
    <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
    <parameter name="store.jms.cache.connection">false</parameter>
    <parameter name="java.naming.provider.url">failover:tcp://localhost:61616</parameter>
    <parameter name="store.jms.JMSSpecVersion">1.1</parameter>
</messageStore>

Процесор на съобщения: чете от магазина и изпраща съобщение до крайна точка "MyEPR"

<messageProcessor xmlns="http://ws.apache.org/ns/synapse" class="org.apache.synapse.message.processor.impl.forwarder.ScheduledMessageForwardingProcessor" name="MyStoreForwarder" targetEndpoint="MyEPR" messageStore="MyStore">
    <parameter name="message.processor.reply.sequence">MyReplySequence</parameter>
    <parameter name="max.delivery.attempts">-1</parameter>
    <parameter name="client.retry.interval">5000</parameter>
    <parameter name="interval">10</parameter>
    <parameter name="message.processor.fault.sequence">MyFaultSequence</parameter>
    <parameter name="is.active">true</parameter>
</messageProcessor>

Прокси услуга: чете xml файлове във file:///home/test и ги съхранява в "MyStore"

<proxy xmlns="http://ws.apache.org/ns/synapse" name="MyProxy" transports="vfs" statistics="disable" trace="disable" startOnLoad="true">
   <target>
    <inSequence>
      <store messageStore="MyStore"/>
    </inSequence>
   </target>
   <parameter name="transport.PollInterval">15</parameter>
   <parameter name="transport.vfs.FileURI">file:///home/test</parameter>
   <parameter name="transport.vfs.FileNamePattern">.*.xml</parameter>
   <parameter name="transport.vfs.ContentType">application/xml; charset=ISO-8859-1</parameter>
</proxy>
person Jean-Michel    schedule 15.05.2014
comment
Благодаря за отговорите, мога да копирам съобщенията си в магазина. - person user3592182; 15.05.2014
comment
Сега съм изправен пред различен проблем, процесорът ми започва да се дезактивира след обработка на 2 или 3 съобщения. Може ли някой да ми каже причината за това. Това ли е защото копирам съобщения от файлове вместо директно от заявка, защото ако копирам съобщения директно от заявка, тогава не се сблъсквам с такива проблеми????? Моля, предложете корекцията - person user3592182; 15.05.2014
comment
Разбрах проблема. Не маркирах съобщението си САМО ИЗВЪН, затова процесорът очакваше изходящата последователност да изпрати отговор обратно, но изходящата последователност не беше там, така че се деактивираше. - person user3592182; 16.05.2014

Този проблем се дължи на неразрешаване на изпращача на vfs транспорт в конфигурацията axis2.xml.

person Vanji    schedule 19.04.2019