Hi, I am trying to implement guaranteed delivery EIP using WSO2ESB and WSO2DSS. My endpoint for this scenario is a dataservice in WSO2DSS. In this scenario, I am using RabbitMQ as the message broker.
I followed the below steps to implement the guaranteed delivery scenario. - I installed RabbitMQ and Erlang OTP. - Then I added RabbitMQ message store according to the instructions in this [1] document. - I created an API with store mediator to stores messages using the above message store. - Then I created a Message-processor that consumes messages from the message-store and sends it to an endpoint. Below are the configurations of the Message-Store, API and Message-Processor. Message-Store: <messageStore name="RabbitMS" class="org.apache.synapse.message.store.impl.rabbitmq.RabbitMQStore" xmlns=" http://ws.apache.org/ns/synapse"> <parameter name="store.rabbitmq.host.name">localhost</parameter> <parameter name="store.rabbitmq.host.port">5672</parameter> <parameter name="store.rabbitmq.queue.name">RabbitMS_Queue</parameter> <parameter name="store.producer.guaranteed.delivery.enable">true</parameter> <parameter name="store.failover.message.store.name ">InMemoryStore</parameter> </messageStore> API: <api xmlns="http://ws.apache.org/ns/synapse" name="API1" context="/details"> <resource methods="GET" url-mapping="/test"> <inSequence> <payloadFactory media-type="xml"> <format> <p:select_with_key_CHASSIS_operation xmlns:p=" https://car.data.wso2.com"> <xs:CHASSIS_ID xmlns:xs="https://car.data.wso2.com ">1009</xs:CHASSIS_ID> </p:select_with_key_CHASSIS_operation> </format> <args/> </payloadFactory> <property name="FORCE_SC_ACCEPTED" value="true" scope="axis2" type="STRING"/> <property name="OUT_ONLY" value="true" scope="default" type="STRING"></property> <log level="full"/> <store messageStore="RabbitMS"/> </inSequence> </resource> </api> Message-Processor: <messageProcessor name="Forwarder" class="org.apache.synapse.message.processor.impl.forwarder.ScheduledMessageForwardingProcessor" targetEndpoint="sampleEndPoint" messageStore="RabbitMS" xmlns=" http://ws.apache.org/ns/synapse"> <parameter name="interval">1000</parameter> <parameter name="client.retry.interval">1000</parameter> <parameter name="max.delivery.attempts">4</parameter> <parameter name="is.active">true</parameter> <parameter name="max.delivery.drop">Disabled</parameter> <parameter name="member.count">1</parameter> </messageProcessor> End-point: <endpoint xmlns="http://ws.apache.org/ns/synapse" name="sampleEndPoint"> <address uri=" https://192.168.8.100:9453/services/ChassisService/select_with_key_CHASSIS_operation "> </address> </endpoint> But when I invoke the API with the below curl command I could not see any messages stored in the message-store/queue or any logs in the console of ESB. curl command: curl -X GET -H "Content-Type:application/json" ' http://192.168.8.100:8280/details' Could you please suggest whether what I have done is correct or correct me if I have done something wrong. [1] https://docs.wso2.com/display/ESB500/RabbitMQ+Message+Store Thanks. Piriya -- Regards, *Piriya Sivalingam* *Software Engineer - Support Team* *WSO2* *Mobile : +94 77 8462039* [image: http://wso2.com/signature] <http://wso2.com/signature>
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
