You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@synapse.apache.org by Abid Khan-EXT <Ab...@jeppesen.com> on 2010/12/01 23:03:25 UTC

Help needed: How to use co-rellation-id for JMS messages

Hello all,

I was trying to find some example on how to set up an endpoint that uses JMS correlation id mechanism to send reply back to predefined Queue.

I could not find any would you please guide me.

Thanks,
Abid

Re: Help: how to invoke a Sequence from a class mediator

Posted by Ruwan Linton <ru...@gmail.com>.
Yeah, if it is a class mediator you have the access to the synapse
MessageContext so it is just a matter of calling,

synCtx.getSequence("$SEQ_NAME") to get hold of any defined or registry
looked up sequence.

Ruwan

On Tue, May 3, 2011 at 9:55 PM, Charith Wickramarachchi <
charith.dhanushka@gmail.com> wrote:

> That is the version of Synapse you are using ?
> And you can also use messageContext.getSequence()
>
> thanks,
> Charith
>
> On Thu, Apr 21, 2011 at 5:16 AM, Abid Khan-EXT <Abid.Khan@jeppesen.com
> >wrote:
>
> > Hello Charith,
> >
> >
> >
> > I finally got time to look into this again, but the method
> > “getSynapseConfiguration()” is not available in
> >
> >
> >
> > messageContext.getEnvironment().getSynapseConfiguration()
> >
> >
> >
> > if I write that it give me compilation error.
> >
> >
> >
> > Thanks,
> >
> > Abid
> >
> >
> >
> > *From:* Charith Wickramarachchi [mailto:charith.dhanushka@gmail.com]
> > *Sent:* Monday, April 04, 2011 3:45 PM
> > *To:* user@synapse.apache.org
> > *Cc:* Abid Khan-EXT
> > *Subject:* Re: Help: how to invoke a Sequence from a class mediator
> >
> >
> >
> > You have access to the Synapse Configuration inside any Mediator.
> > If its a defined sequence in the configuration.
> > you can use.
> >
> messageContext.getEnvironment().getSynapseConfiguration().getDefinedSequences().get("Sequence
> > Name").
> >
> > If its coming from a registry.
> > you can use.
> > messageContext.getSequence("Sequence Name")
> >
> > thanks,
> > Charith
> >
> >
> > On Mon, Apr 4, 2011 at 10:13 PM, Abid Khan-EXT <Ab...@jeppesen.com>
> > wrote:
> >
> > Hello
> >
> > I have a certain need for invoking a sequence from a class mediator,
> please
> > provide some hints,
> >
> > Thank,
> > Abid
> >
> >
> >
> >
> > --
> > Charith Dhanushka Wickramarachchi
> >
> > Software Engineer
> >
> > WSO2 Inc
> >
> > http://wso2.com/
> >
> > http://wso2.org/
> >
> >
> >
> > blog
> >
> > http://charithwiki.blogspot.com/
> >
> >
> >
> > twitter
> >
> > http://twitter.com/charithwiki
> >
> >
> >
>
>
>
> --
> Charith Dhanushka Wickramarachchi
> http://charithwiki.blogspot.com/
>



-- 
Ruwan Linton
Member, Apache Software Foundation; http://www.apache.org
<http://wso2.org>

phone: +94 11 282 7532
email: ruwan@blindvision.org; cell: +94 77 341 3097
blog: http://blog.ruwan.org
linkedin: http://www.linkedin.com/in/ruwanlinton
google: http://www.google.com/profiles/ruwan.linton
tweet: http://twitter.com/ruwanlinton

Re: Help: how to invoke a Sequence from a class mediator

Posted by Charith Wickramarachchi <ch...@gmail.com>.
That is the version of Synapse you are using ?
And you can also use messageContext.getSequence()

thanks,
Charith

On Thu, Apr 21, 2011 at 5:16 AM, Abid Khan-EXT <Ab...@jeppesen.com>wrote:

> Hello Charith,
>
>
>
> I finally got time to look into this again, but the method
> “getSynapseConfiguration()” is not available in
>
>
>
> messageContext.getEnvironment().getSynapseConfiguration()
>
>
>
> if I write that it give me compilation error.
>
>
>
> Thanks,
>
> Abid
>
>
>
> *From:* Charith Wickramarachchi [mailto:charith.dhanushka@gmail.com]
> *Sent:* Monday, April 04, 2011 3:45 PM
> *To:* user@synapse.apache.org
> *Cc:* Abid Khan-EXT
> *Subject:* Re: Help: how to invoke a Sequence from a class mediator
>
>
>
> You have access to the Synapse Configuration inside any Mediator.
> If its a defined sequence in the configuration.
> you can use.
> messageContext.getEnvironment().getSynapseConfiguration().getDefinedSequences().get("Sequence
> Name").
>
> If its coming from a registry.
> you can use.
> messageContext.getSequence("Sequence Name")
>
> thanks,
> Charith
>
>
> On Mon, Apr 4, 2011 at 10:13 PM, Abid Khan-EXT <Ab...@jeppesen.com>
> wrote:
>
> Hello
>
> I have a certain need for invoking a sequence from a class mediator, please
> provide some hints,
>
> Thank,
> Abid
>
>
>
>
> --
> Charith Dhanushka Wickramarachchi
>
> Software Engineer
>
> WSO2 Inc
>
> http://wso2.com/
>
> http://wso2.org/
>
>
>
> blog
>
> http://charithwiki.blogspot.com/
>
>
>
> twitter
>
> http://twitter.com/charithwiki
>
>
>



-- 
Charith Dhanushka Wickramarachchi
http://charithwiki.blogspot.com/

Re: Please help: does Synapse leak memory?

Posted by Paul Fremantle <pz...@gmail.com>.
Also which release are  you on?

Paul

On Thu, May 19, 2011 at 3:38 AM, Paul Fremantle <pz...@gmail.com> wrote:
> Abid
>
> Can you give us some idea of the flows? I know that Synapse is usually
> memory safe - I have thread dumps from people who have pumped 134
> terabytes of data, 1.4 billion messages and all this with a max heap
> size of <2Gb and no leaks.
>
> Paul
>
> On Thu, May 19, 2011 at 1:49 AM, Abid Khan-EXT <Ab...@jeppesen.com> wrote:
>> Hello all,
>>
>> I am troubleshooting an instance where I had used Synapse, the issue is that after delivering few thousand message server runs out of memory.
>>
>> I investigated and found out that for each message that is delivered Synapse is leaking following two objects:
>>
>> 1) org.apache.axis2.context.MessageContext
>>
>> 2) org.apache.synapse.core.axis2.Axis2MessageContext
>>
>> I thought that it might be related to threads and ThreadLocal, but when I scanned the thread local of all 160+ threads those objects were not there.
>>
>> It seems that synapse is keeping those two object in its some internal object, that is difficult to find.
>>
>> Because of this problem those objects; server leaks memory at very high rate, and freezes after few hours of running?
>>
>> Any immediate response will be appreciated,
>>
>>
>> Thanks,
>> Abid
>>
>
>
>
> --
> Paul Fremantle
> Co-Founder and CTO, WSO2
> Apache Synapse PMC Chair
> OASIS WS-RX TC Co-chair
>
> blog: http://pzf.fremantle.org
> paul@wso2.com
>
> "Oxygenating the Web Service Platform", www.wso2.com
>



-- 
Paul Fremantle
Co-Founder and CTO, WSO2
Apache Synapse PMC Chair
OASIS WS-RX TC Co-chair

blog: http://pzf.fremantle.org
paul@wso2.com

"Oxygenating the Web Service Platform", www.wso2.com

Re: Please help: does Synapse leak memory?

Posted by Ruwan Linton <ru...@gmail.com>.
I think there is a possibility of leakage of message contexts in *none*
normal flows, *depending* on the configuration. It is subjective and most of
the time a configuration tune up can be done to overcome this situation. So
you better try to re-produce the problem with a fragment of the
configuration and share it with us so that we can have a look into possible
configuration tuneups.

Ruwan

On Sat, May 21, 2011 at 11:01 PM, Hiranya Jayathilaka
<hi...@gmail.com>wrote:

> On Sat, May 21, 2011 at 1:32 AM, Andreas Veithen
> <an...@gmail.com>wrote:
>
> > On Thu, May 19, 2011 at 20:09, Hiranya Jayathilaka <hiranya911@gmail.com
> >
> > wrote:
> > > Synapse creates an Axis2MessageContext for each message received. Each
> > > Axis2MessageContext instance encapsulates a MessageContext object. But
> > > Synapse does not keep them in memory for too long. As soon as messages
> > are
> > > mediated and sent to the corresponding endpoints/clients, they are
> > > discarded.
> >
> > Not sure that this is entirely correct. In a request-response
> > exchange, doesn't the callback keep a reference to the outgoing
> > message context?
>
>
> It does. I was speaking about the general case. When Synapse receives the
> response from the backend server, the callback will get removed and the
> message context instances will be cleaned up due course. So for normal HTTP
> invocations things should get cleaned up within a matter of seconds at
> most.
>
>
> > What I've seen in the past is that some configuration
> > problems may cause Synapse to believe that a message exchange is
> > request-response while the outgoing transport is actually doing
> > out-only. In that case, the callback handlers just continue to pile up
> > in memory until they expire.
>
>
> This could happen due to a configuration error. For instance if you haven't
> set the OUT_ONLY property on a flow where you should be setting it.
>
>
> > IIRC, at the time I observed this, the
> > default timeout was 24h.
> >
> > Abid's observation that this only occurs for failures may point to the
> > same root cause, i.e. callbacks not being removed.
>
>
> One possible cause is that callbacks may have accumulated for all the
> messages sent to the wrong endpoint. However if endpoint suspension is not
> disabled that should guard against this. From Abid's description it looks
> like suspension is disabled. Otherwise the very first error should have
> suspended the endpoint and subsequent messages would not have been sent.
>
> Thanks,
> Hiranya
>
>
> >
> > > These objects could be fairly big since they contain message
> > > payload, properties and all other context information of messages. So
> if
> > > Synapse is keeping them in memory forever, we won't be able to run any
> > > scenario with Synapse for more than several hours. But as Paul
> mentioned
> > we
> > > have seen some pretty heavy duty deployments of Synapse dealing with
> > > hundreds of transactions every second. One of the key strengths of
> > Synapse
> > > is that it can handle very high volumes of messages with a very small
> > memory
> > > footprint.
> > >
> > > How much memory have you allocated for JBoss server? Also what is your
> > > Synapse configuration like? What's the memory usage pattern when you
> run
> > > Synapse standalone (ie without JBoss)?
> > >
> > > Thanks,
> > > Hiranya
> > >
> > > On Thu, May 19, 2011 at 9:17 PM, Abid Khan-EXT <Abid.Khan@jeppesen.com
> > >wrote:
> > >
> > >> Hello Paul,
> > >>
> > >> What you are telling me is a good news. The facts I have here, are
> > >> different. I ran the server for a load-test and ran only 26000 message
> > (of
> > >> about 1K each message size), that made the GC threads taking over
> every
> > >> thing, the java process was so stuck that the jboss-shutdown command
> > could
> > >> not bring it down.
> > >>
> > >> And my trace log (memory profiling) showed that one instance of both
> > >> MessageContext and Axis2MessageContext were leaked for every message
> > that is
> > >> delivered/processed.
> > >>
> > >> I am using 1.2 GA of synapse. And I am running it in JBoss.
> > >>
> > >> And will be more than happy to send the thread dump, but that is very
> > big.
> > >>
> > >> Once again thanks for getting back to me and I am looking for good
> > pointers
> > >> from you very soon.
> > >>
> > >> Regards,
> > >> Abid
> > >>
> > >>
> > >>
> > >>
> > >> -----Original Message-----
> > >> From: Paul Fremantle [mailto:pzfreo@gmail.com]
> > >> Sent: Wednesday, May 18, 2011 8:39 PM
> > >> To: user@synapse.apache.org
> > >> Subject: Re: Please help: does Synapse leak memory?
> > >>
> > >> Abid
> > >>
> > >> Can you give us some idea of the flows? I know that Synapse is usually
> > >> memory safe - I have thread dumps from people who have pumped 134
> > >> terabytes of data, 1.4 billion messages and all this with a max heap
> > >> size of <2Gb and no leaks.
> > >>
> > >> Paul
> > >>
> > >> On Thu, May 19, 2011 at 1:49 AM, Abid Khan-EXT <
> Abid.Khan@jeppesen.com>
> > >> wrote:
> > >> > Hello all,
> > >> >
> > >> > I am troubleshooting an instance where I had used Synapse, the issue
> > is
> > >> that after delivering few thousand message server runs out of memory.
> > >> >
> > >> > I investigated and found out that for each message that is delivered
> > >> Synapse is leaking following two objects:
> > >> >
> > >> > 1) org.apache.axis2.context.MessageContext
> > >> >
> > >> > 2) org.apache.synapse.core.axis2.Axis2MessageContext
> > >> >
> > >> > I thought that it might be related to threads and ThreadLocal, but
> > when I
> > >> scanned the thread local of all 160+ threads those objects were not
> > there.
> > >> >
> > >> > It seems that synapse is keeping those two object in its some
> internal
> > >> object, that is difficult to find.
> > >> >
> > >> > Because of this problem those objects; server leaks memory at very
> > high
> > >> rate, and freezes after few hours of running?
> > >> >
> > >> > Any immediate response will be appreciated,
> > >> >
> > >> >
> > >> > Thanks,
> > >> > Abid
> > >> >
> > >>
> > >>
> > >>
> > >> --
> > >> Paul Fremantle
> > >> Co-Founder and CTO, WSO2
> > >> Apache Synapse PMC Chair
> > >> OASIS WS-RX TC Co-chair
> > >>
> > >> blog: http://pzf.fremantle.org
> > >> paul@wso2.com
> > >>
> > >> "Oxygenating the Web Service Platform", www.wso2.com
> > >>
> > >
> > >
> > >
> > > --
> > > Hiranya Jayathilaka
> > > Senior Software Engineer;
> > > WSO2 Inc.;  http://wso2.org
> > > E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
> > > Blog: http://techfeast-hiranya.blogspot.com
> > >
> >
>
>
>
> --
> Hiranya Jayathilaka
> Senior Software Engineer;
> WSO2 Inc.;  http://wso2.org
> E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
> Blog: http://techfeast-hiranya.blogspot.com
>



-- 
Ruwan Linton
Member, Apache Software Foundation; http://www.apache.org
<http://wso2.org>

phone: +94 11 282 7532
email: ruwan@blindvision.org; cell: +94 77 341 3097
blog: http://blog.ruwan.org
linkedin: http://www.linkedin.com/in/ruwanlinton
google: http://www.google.com/profiles/ruwan.linton
tweet: http://twitter.com/ruwanlinton

Re: Please help: does Synapse leak memory?

Posted by Hiranya Jayathilaka <hi...@gmail.com>.
On Sat, May 21, 2011 at 1:32 AM, Andreas Veithen
<an...@gmail.com>wrote:

> On Thu, May 19, 2011 at 20:09, Hiranya Jayathilaka <hi...@gmail.com>
> wrote:
> > Synapse creates an Axis2MessageContext for each message received. Each
> > Axis2MessageContext instance encapsulates a MessageContext object. But
> > Synapse does not keep them in memory for too long. As soon as messages
> are
> > mediated and sent to the corresponding endpoints/clients, they are
> > discarded.
>
> Not sure that this is entirely correct. In a request-response
> exchange, doesn't the callback keep a reference to the outgoing
> message context?


It does. I was speaking about the general case. When Synapse receives the
response from the backend server, the callback will get removed and the
message context instances will be cleaned up due course. So for normal HTTP
invocations things should get cleaned up within a matter of seconds at most.


> What I've seen in the past is that some configuration
> problems may cause Synapse to believe that a message exchange is
> request-response while the outgoing transport is actually doing
> out-only. In that case, the callback handlers just continue to pile up
> in memory until they expire.


This could happen due to a configuration error. For instance if you haven't
set the OUT_ONLY property on a flow where you should be setting it.


> IIRC, at the time I observed this, the
> default timeout was 24h.
>
> Abid's observation that this only occurs for failures may point to the
> same root cause, i.e. callbacks not being removed.


One possible cause is that callbacks may have accumulated for all the
messages sent to the wrong endpoint. However if endpoint suspension is not
disabled that should guard against this. From Abid's description it looks
like suspension is disabled. Otherwise the very first error should have
suspended the endpoint and subsequent messages would not have been sent.

Thanks,
Hiranya


>
> > These objects could be fairly big since they contain message
> > payload, properties and all other context information of messages. So if
> > Synapse is keeping them in memory forever, we won't be able to run any
> > scenario with Synapse for more than several hours. But as Paul mentioned
> we
> > have seen some pretty heavy duty deployments of Synapse dealing with
> > hundreds of transactions every second. One of the key strengths of
> Synapse
> > is that it can handle very high volumes of messages with a very small
> memory
> > footprint.
> >
> > How much memory have you allocated for JBoss server? Also what is your
> > Synapse configuration like? What's the memory usage pattern when you run
> > Synapse standalone (ie without JBoss)?
> >
> > Thanks,
> > Hiranya
> >
> > On Thu, May 19, 2011 at 9:17 PM, Abid Khan-EXT <Abid.Khan@jeppesen.com
> >wrote:
> >
> >> Hello Paul,
> >>
> >> What you are telling me is a good news. The facts I have here, are
> >> different. I ran the server for a load-test and ran only 26000 message
> (of
> >> about 1K each message size), that made the GC threads taking over every
> >> thing, the java process was so stuck that the jboss-shutdown command
> could
> >> not bring it down.
> >>
> >> And my trace log (memory profiling) showed that one instance of both
> >> MessageContext and Axis2MessageContext were leaked for every message
> that is
> >> delivered/processed.
> >>
> >> I am using 1.2 GA of synapse. And I am running it in JBoss.
> >>
> >> And will be more than happy to send the thread dump, but that is very
> big.
> >>
> >> Once again thanks for getting back to me and I am looking for good
> pointers
> >> from you very soon.
> >>
> >> Regards,
> >> Abid
> >>
> >>
> >>
> >>
> >> -----Original Message-----
> >> From: Paul Fremantle [mailto:pzfreo@gmail.com]
> >> Sent: Wednesday, May 18, 2011 8:39 PM
> >> To: user@synapse.apache.org
> >> Subject: Re: Please help: does Synapse leak memory?
> >>
> >> Abid
> >>
> >> Can you give us some idea of the flows? I know that Synapse is usually
> >> memory safe - I have thread dumps from people who have pumped 134
> >> terabytes of data, 1.4 billion messages and all this with a max heap
> >> size of <2Gb and no leaks.
> >>
> >> Paul
> >>
> >> On Thu, May 19, 2011 at 1:49 AM, Abid Khan-EXT <Ab...@jeppesen.com>
> >> wrote:
> >> > Hello all,
> >> >
> >> > I am troubleshooting an instance where I had used Synapse, the issue
> is
> >> that after delivering few thousand message server runs out of memory.
> >> >
> >> > I investigated and found out that for each message that is delivered
> >> Synapse is leaking following two objects:
> >> >
> >> > 1) org.apache.axis2.context.MessageContext
> >> >
> >> > 2) org.apache.synapse.core.axis2.Axis2MessageContext
> >> >
> >> > I thought that it might be related to threads and ThreadLocal, but
> when I
> >> scanned the thread local of all 160+ threads those objects were not
> there.
> >> >
> >> > It seems that synapse is keeping those two object in its some internal
> >> object, that is difficult to find.
> >> >
> >> > Because of this problem those objects; server leaks memory at very
> high
> >> rate, and freezes after few hours of running?
> >> >
> >> > Any immediate response will be appreciated,
> >> >
> >> >
> >> > Thanks,
> >> > Abid
> >> >
> >>
> >>
> >>
> >> --
> >> Paul Fremantle
> >> Co-Founder and CTO, WSO2
> >> Apache Synapse PMC Chair
> >> OASIS WS-RX TC Co-chair
> >>
> >> blog: http://pzf.fremantle.org
> >> paul@wso2.com
> >>
> >> "Oxygenating the Web Service Platform", www.wso2.com
> >>
> >
> >
> >
> > --
> > Hiranya Jayathilaka
> > Senior Software Engineer;
> > WSO2 Inc.;  http://wso2.org
> > E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
> > Blog: http://techfeast-hiranya.blogspot.com
> >
>



-- 
Hiranya Jayathilaka
Senior Software Engineer;
WSO2 Inc.;  http://wso2.org
E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
Blog: http://techfeast-hiranya.blogspot.com

Re: Please help: does Synapse leak memory?

Posted by Andreas Veithen <an...@gmail.com>.
On Thu, May 19, 2011 at 20:09, Hiranya Jayathilaka <hi...@gmail.com> wrote:
> Synapse creates an Axis2MessageContext for each message received. Each
> Axis2MessageContext instance encapsulates a MessageContext object. But
> Synapse does not keep them in memory for too long. As soon as messages are
> mediated and sent to the corresponding endpoints/clients, they are
> discarded.

Not sure that this is entirely correct. In a request-response
exchange, doesn't the callback keep a reference to the outgoing
message context? What I've seen in the past is that some configuration
problems may cause Synapse to believe that a message exchange is
request-response while the outgoing transport is actually doing
out-only. In that case, the callback handlers just continue to pile up
in memory until they expire. IIRC, at the time I observed this, the
default timeout was 24h.

Abid's observation that this only occurs for failures may point to the
same root cause, i.e. callbacks not being removed.

> These objects could be fairly big since they contain message
> payload, properties and all other context information of messages. So if
> Synapse is keeping them in memory forever, we won't be able to run any
> scenario with Synapse for more than several hours. But as Paul mentioned we
> have seen some pretty heavy duty deployments of Synapse dealing with
> hundreds of transactions every second. One of the key strengths of Synapse
> is that it can handle very high volumes of messages with a very small memory
> footprint.
>
> How much memory have you allocated for JBoss server? Also what is your
> Synapse configuration like? What's the memory usage pattern when you run
> Synapse standalone (ie without JBoss)?
>
> Thanks,
> Hiranya
>
> On Thu, May 19, 2011 at 9:17 PM, Abid Khan-EXT <Ab...@jeppesen.com>wrote:
>
>> Hello Paul,
>>
>> What you are telling me is a good news. The facts I have here, are
>> different. I ran the server for a load-test and ran only 26000 message (of
>> about 1K each message size), that made the GC threads taking over every
>> thing, the java process was so stuck that the jboss-shutdown command could
>> not bring it down.
>>
>> And my trace log (memory profiling) showed that one instance of both
>> MessageContext and Axis2MessageContext were leaked for every message that is
>> delivered/processed.
>>
>> I am using 1.2 GA of synapse. And I am running it in JBoss.
>>
>> And will be more than happy to send the thread dump, but that is very big.
>>
>> Once again thanks for getting back to me and I am looking for good pointers
>> from you very soon.
>>
>> Regards,
>> Abid
>>
>>
>>
>>
>> -----Original Message-----
>> From: Paul Fremantle [mailto:pzfreo@gmail.com]
>> Sent: Wednesday, May 18, 2011 8:39 PM
>> To: user@synapse.apache.org
>> Subject: Re: Please help: does Synapse leak memory?
>>
>> Abid
>>
>> Can you give us some idea of the flows? I know that Synapse is usually
>> memory safe - I have thread dumps from people who have pumped 134
>> terabytes of data, 1.4 billion messages and all this with a max heap
>> size of <2Gb and no leaks.
>>
>> Paul
>>
>> On Thu, May 19, 2011 at 1:49 AM, Abid Khan-EXT <Ab...@jeppesen.com>
>> wrote:
>> > Hello all,
>> >
>> > I am troubleshooting an instance where I had used Synapse, the issue is
>> that after delivering few thousand message server runs out of memory.
>> >
>> > I investigated and found out that for each message that is delivered
>> Synapse is leaking following two objects:
>> >
>> > 1) org.apache.axis2.context.MessageContext
>> >
>> > 2) org.apache.synapse.core.axis2.Axis2MessageContext
>> >
>> > I thought that it might be related to threads and ThreadLocal, but when I
>> scanned the thread local of all 160+ threads those objects were not there.
>> >
>> > It seems that synapse is keeping those two object in its some internal
>> object, that is difficult to find.
>> >
>> > Because of this problem those objects; server leaks memory at very high
>> rate, and freezes after few hours of running?
>> >
>> > Any immediate response will be appreciated,
>> >
>> >
>> > Thanks,
>> > Abid
>> >
>>
>>
>>
>> --
>> Paul Fremantle
>> Co-Founder and CTO, WSO2
>> Apache Synapse PMC Chair
>> OASIS WS-RX TC Co-chair
>>
>> blog: http://pzf.fremantle.org
>> paul@wso2.com
>>
>> "Oxygenating the Web Service Platform", www.wso2.com
>>
>
>
>
> --
> Hiranya Jayathilaka
> Senior Software Engineer;
> WSO2 Inc.;  http://wso2.org
> E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
> Blog: http://techfeast-hiranya.blogspot.com
>

Re: Please help: does Synapse leak memory?

Posted by Rajika Kumarasiri <ra...@wso2.com>.
Yes please, a sample configuration to re-produce the issue would be great.

Rajika

On Fri, May 20, 2011 at 9:43 PM, Abid Khan-EXT <Ab...@jeppesen.com>wrote:

> The configuration that I have is huge, not only in number of mediators and
> sequences, but I am using lot of class mediators. That makes the
> configuration un useful for any who does not have the code.
>
> What I will do is that I will try to reproduce it with synapse server and
> post the results here.
>
> Thanks,
> Abid
>
>
>
> -----Original Message-----
> From: Rajika Kumarasiri [mailto:rajika@wso2.com]
> Sent: Thursday, May 19, 2011 11:22 PM
> To: user@synapse.apache.org
> Subject: Re: Please help: does Synapse leak memory?
>
> Can you attach your Synapse configuration if possible? And tell which
> endpoint has a typo ?
>
> Rajika
>
> On Thu, May 19, 2011 at 11:47 PM, Abid Khan-EXT <Abid.Khan@jeppesen.com
> >wrote:
>
> > Thanks Hiranya,
> >
> > I have done some more research, and found out the it leaks memory only on
> > the failures. Not on successful deliver.
> >
> > To give you the back ground, I had a typo in one of the endpoint URL. And
> I
> > had only two endpoints, all the message that were attempted to be
> delivered
> > to that "wrong" url; failed. That is what lead to this leaking issue.
> >
> > On the other hand the server I was testing had -Xms1024m, and -Xmx2048m.
> So
> > its little better than what I was thinking.
> >
> > I am still digging into and trying to find where the leak is. I will
> update
> > if I found anything but so far it's a leak on the failures only.
> >
> > If you can find out if this is correct that Synapse could leak those two
> > object on failures. That will help.
> >
> > Thanks,
> > Abid
> >
> >
> >
> >
> > -----Original Message-----
> > From: Hiranya Jayathilaka [mailto:hiranya911@gmail.com]
> > Sent: Thursday, May 19, 2011 12:09 PM
> > To: user@synapse.apache.org
> > Subject: Re: Please help: does Synapse leak memory?
> >
> > Synapse creates an Axis2MessageContext for each message received. Each
> > Axis2MessageContext instance encapsulates a MessageContext object. But
> > Synapse does not keep them in memory for too long. As soon as messages
> are
> > mediated and sent to the corresponding endpoints/clients, they are
> > discarded. These objects could be fairly big since they contain message
> > payload, properties and all other context information of messages. So if
> > Synapse is keeping them in memory forever, we won't be able to run any
> > scenario with Synapse for more than several hours. But as Paul mentioned
> we
> > have seen some pretty heavy duty deployments of Synapse dealing with
> > hundreds of transactions every second. One of the key strengths of
> Synapse
> > is that it can handle very high volumes of messages with a very small
> > memory
> > footprint.
> >
> > How much memory have you allocated for JBoss server? Also what is your
> > Synapse configuration like? What's the memory usage pattern when you run
> > Synapse standalone (ie without JBoss)?
> >
> > Thanks,
> > Hiranya
> >
> > On Thu, May 19, 2011 at 9:17 PM, Abid Khan-EXT <Abid.Khan@jeppesen.com
> > >wrote:
> >
> > > Hello Paul,
> > >
> > > What you are telling me is a good news. The facts I have here, are
> > > different. I ran the server for a load-test and ran only 26000 message
> > (of
> > > about 1K each message size), that made the GC threads taking over every
> > > thing, the java process was so stuck that the jboss-shutdown command
> > could
> > > not bring it down.
> > >
> > > And my trace log (memory profiling) showed that one instance of both
> > > MessageContext and Axis2MessageContext were leaked for every message
> that
> > is
> > > delivered/processed.
> > >
> > > I am using 1.2 GA of synapse. And I am running it in JBoss.
> > >
> > > And will be more than happy to send the thread dump, but that is very
> > big.
> > >
> > > Once again thanks for getting back to me and I am looking for good
> > pointers
> > > from you very soon.
> > >
> > > Regards,
> > > Abid
> > >
> > >
> > >
> > >
> > > -----Original Message-----
> > > From: Paul Fremantle [mailto:pzfreo@gmail.com]
> > > Sent: Wednesday, May 18, 2011 8:39 PM
> > > To: user@synapse.apache.org
> > > Subject: Re: Please help: does Synapse leak memory?
> > >
> > > Abid
> > >
> > > Can you give us some idea of the flows? I know that Synapse is usually
> > > memory safe - I have thread dumps from people who have pumped 134
> > > terabytes of data, 1.4 billion messages and all this with a max heap
> > > size of <2Gb and no leaks.
> > >
> > > Paul
> > >
> > > On Thu, May 19, 2011 at 1:49 AM, Abid Khan-EXT <Abid.Khan@jeppesen.com
> >
> > > wrote:
> > > > Hello all,
> > > >
> > > > I am troubleshooting an instance where I had used Synapse, the issue
> is
> > > that after delivering few thousand message server runs out of memory.
> > > >
> > > > I investigated and found out that for each message that is delivered
> > > Synapse is leaking following two objects:
> > > >
> > > > 1) org.apache.axis2.context.MessageContext
> > > >
> > > > 2) org.apache.synapse.core.axis2.Axis2MessageContext
> > > >
> > > > I thought that it might be related to threads and ThreadLocal, but
> when
> > I
> > > scanned the thread local of all 160+ threads those objects were not
> > there.
> > > >
> > > > It seems that synapse is keeping those two object in its some
> internal
> > > object, that is difficult to find.
> > > >
> > > > Because of this problem those objects; server leaks memory at very
> high
> > > rate, and freezes after few hours of running?
> > > >
> > > > Any immediate response will be appreciated,
> > > >
> > > >
> > > > Thanks,
> > > > Abid
> > > >
> > >
> > >
> > >
> > > --
> > > Paul Fremantle
> > > Co-Founder and CTO, WSO2
> > > Apache Synapse PMC Chair
> > > OASIS WS-RX TC Co-chair
> > >
> > > blog: http://pzf.fremantle.org
> > > paul@wso2.com
> > >
> > > "Oxygenating the Web Service Platform", www.wso2.com
> > >
> >
> >
> >
> > --
> > Hiranya Jayathilaka
> > Senior Software Engineer;
> > WSO2 Inc.;  http://wso2.org
> > E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
> > Blog: http://techfeast-hiranya.blogspot.com
> >
>

RE: Please help: does Synapse leak memory?

Posted by Abid Khan-EXT <Ab...@jeppesen.com>.
The configuration that I have is huge, not only in number of mediators and sequences, but I am using lot of class mediators. That makes the configuration un useful for any who does not have the code.

What I will do is that I will try to reproduce it with synapse server and post the results here.

Thanks,
Abid



-----Original Message-----
From: Rajika Kumarasiri [mailto:rajika@wso2.com]
Sent: Thursday, May 19, 2011 11:22 PM
To: user@synapse.apache.org
Subject: Re: Please help: does Synapse leak memory?

Can you attach your Synapse configuration if possible? And tell which
endpoint has a typo ?

Rajika

On Thu, May 19, 2011 at 11:47 PM, Abid Khan-EXT <Ab...@jeppesen.com>wrote:

> Thanks Hiranya,
>
> I have done some more research, and found out the it leaks memory only on
> the failures. Not on successful deliver.
>
> To give you the back ground, I had a typo in one of the endpoint URL. And I
> had only two endpoints, all the message that were attempted to be delivered
> to that "wrong" url; failed. That is what lead to this leaking issue.
>
> On the other hand the server I was testing had -Xms1024m, and -Xmx2048m. So
> its little better than what I was thinking.
>
> I am still digging into and trying to find where the leak is. I will update
> if I found anything but so far it's a leak on the failures only.
>
> If you can find out if this is correct that Synapse could leak those two
> object on failures. That will help.
>
> Thanks,
> Abid
>
>
>
>
> -----Original Message-----
> From: Hiranya Jayathilaka [mailto:hiranya911@gmail.com]
> Sent: Thursday, May 19, 2011 12:09 PM
> To: user@synapse.apache.org
> Subject: Re: Please help: does Synapse leak memory?
>
> Synapse creates an Axis2MessageContext for each message received. Each
> Axis2MessageContext instance encapsulates a MessageContext object. But
> Synapse does not keep them in memory for too long. As soon as messages are
> mediated and sent to the corresponding endpoints/clients, they are
> discarded. These objects could be fairly big since they contain message
> payload, properties and all other context information of messages. So if
> Synapse is keeping them in memory forever, we won't be able to run any
> scenario with Synapse for more than several hours. But as Paul mentioned we
> have seen some pretty heavy duty deployments of Synapse dealing with
> hundreds of transactions every second. One of the key strengths of Synapse
> is that it can handle very high volumes of messages with a very small
> memory
> footprint.
>
> How much memory have you allocated for JBoss server? Also what is your
> Synapse configuration like? What's the memory usage pattern when you run
> Synapse standalone (ie without JBoss)?
>
> Thanks,
> Hiranya
>
> On Thu, May 19, 2011 at 9:17 PM, Abid Khan-EXT <Abid.Khan@jeppesen.com
> >wrote:
>
> > Hello Paul,
> >
> > What you are telling me is a good news. The facts I have here, are
> > different. I ran the server for a load-test and ran only 26000 message
> (of
> > about 1K each message size), that made the GC threads taking over every
> > thing, the java process was so stuck that the jboss-shutdown command
> could
> > not bring it down.
> >
> > And my trace log (memory profiling) showed that one instance of both
> > MessageContext and Axis2MessageContext were leaked for every message that
> is
> > delivered/processed.
> >
> > I am using 1.2 GA of synapse. And I am running it in JBoss.
> >
> > And will be more than happy to send the thread dump, but that is very
> big.
> >
> > Once again thanks for getting back to me and I am looking for good
> pointers
> > from you very soon.
> >
> > Regards,
> > Abid
> >
> >
> >
> >
> > -----Original Message-----
> > From: Paul Fremantle [mailto:pzfreo@gmail.com]
> > Sent: Wednesday, May 18, 2011 8:39 PM
> > To: user@synapse.apache.org
> > Subject: Re: Please help: does Synapse leak memory?
> >
> > Abid
> >
> > Can you give us some idea of the flows? I know that Synapse is usually
> > memory safe - I have thread dumps from people who have pumped 134
> > terabytes of data, 1.4 billion messages and all this with a max heap
> > size of <2Gb and no leaks.
> >
> > Paul
> >
> > On Thu, May 19, 2011 at 1:49 AM, Abid Khan-EXT <Ab...@jeppesen.com>
> > wrote:
> > > Hello all,
> > >
> > > I am troubleshooting an instance where I had used Synapse, the issue is
> > that after delivering few thousand message server runs out of memory.
> > >
> > > I investigated and found out that for each message that is delivered
> > Synapse is leaking following two objects:
> > >
> > > 1) org.apache.axis2.context.MessageContext
> > >
> > > 2) org.apache.synapse.core.axis2.Axis2MessageContext
> > >
> > > I thought that it might be related to threads and ThreadLocal, but when
> I
> > scanned the thread local of all 160+ threads those objects were not
> there.
> > >
> > > It seems that synapse is keeping those two object in its some internal
> > object, that is difficult to find.
> > >
> > > Because of this problem those objects; server leaks memory at very high
> > rate, and freezes after few hours of running?
> > >
> > > Any immediate response will be appreciated,
> > >
> > >
> > > Thanks,
> > > Abid
> > >
> >
> >
> >
> > --
> > Paul Fremantle
> > Co-Founder and CTO, WSO2
> > Apache Synapse PMC Chair
> > OASIS WS-RX TC Co-chair
> >
> > blog: http://pzf.fremantle.org
> > paul@wso2.com
> >
> > "Oxygenating the Web Service Platform", www.wso2.com
> >
>
>
>
> --
> Hiranya Jayathilaka
> Senior Software Engineer;
> WSO2 Inc.;  http://wso2.org
> E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
> Blog: http://techfeast-hiranya.blogspot.com
>

Re: Please help: does Synapse leak memory?

Posted by Rajika Kumarasiri <ra...@wso2.com>.
Can you attach your Synapse configuration if possible? And tell which
endpoint has a typo ?

Rajika

On Thu, May 19, 2011 at 11:47 PM, Abid Khan-EXT <Ab...@jeppesen.com>wrote:

> Thanks Hiranya,
>
> I have done some more research, and found out the it leaks memory only on
> the failures. Not on successful deliver.
>
> To give you the back ground, I had a typo in one of the endpoint URL. And I
> had only two endpoints, all the message that were attempted to be delivered
> to that "wrong" url; failed. That is what lead to this leaking issue.
>
> On the other hand the server I was testing had -Xms1024m, and -Xmx2048m. So
> its little better than what I was thinking.
>
> I am still digging into and trying to find where the leak is. I will update
> if I found anything but so far it's a leak on the failures only.
>
> If you can find out if this is correct that Synapse could leak those two
> object on failures. That will help.
>
> Thanks,
> Abid
>
>
>
>
> -----Original Message-----
> From: Hiranya Jayathilaka [mailto:hiranya911@gmail.com]
> Sent: Thursday, May 19, 2011 12:09 PM
> To: user@synapse.apache.org
> Subject: Re: Please help: does Synapse leak memory?
>
> Synapse creates an Axis2MessageContext for each message received. Each
> Axis2MessageContext instance encapsulates a MessageContext object. But
> Synapse does not keep them in memory for too long. As soon as messages are
> mediated and sent to the corresponding endpoints/clients, they are
> discarded. These objects could be fairly big since they contain message
> payload, properties and all other context information of messages. So if
> Synapse is keeping them in memory forever, we won't be able to run any
> scenario with Synapse for more than several hours. But as Paul mentioned we
> have seen some pretty heavy duty deployments of Synapse dealing with
> hundreds of transactions every second. One of the key strengths of Synapse
> is that it can handle very high volumes of messages with a very small
> memory
> footprint.
>
> How much memory have you allocated for JBoss server? Also what is your
> Synapse configuration like? What's the memory usage pattern when you run
> Synapse standalone (ie without JBoss)?
>
> Thanks,
> Hiranya
>
> On Thu, May 19, 2011 at 9:17 PM, Abid Khan-EXT <Abid.Khan@jeppesen.com
> >wrote:
>
> > Hello Paul,
> >
> > What you are telling me is a good news. The facts I have here, are
> > different. I ran the server for a load-test and ran only 26000 message
> (of
> > about 1K each message size), that made the GC threads taking over every
> > thing, the java process was so stuck that the jboss-shutdown command
> could
> > not bring it down.
> >
> > And my trace log (memory profiling) showed that one instance of both
> > MessageContext and Axis2MessageContext were leaked for every message that
> is
> > delivered/processed.
> >
> > I am using 1.2 GA of synapse. And I am running it in JBoss.
> >
> > And will be more than happy to send the thread dump, but that is very
> big.
> >
> > Once again thanks for getting back to me and I am looking for good
> pointers
> > from you very soon.
> >
> > Regards,
> > Abid
> >
> >
> >
> >
> > -----Original Message-----
> > From: Paul Fremantle [mailto:pzfreo@gmail.com]
> > Sent: Wednesday, May 18, 2011 8:39 PM
> > To: user@synapse.apache.org
> > Subject: Re: Please help: does Synapse leak memory?
> >
> > Abid
> >
> > Can you give us some idea of the flows? I know that Synapse is usually
> > memory safe - I have thread dumps from people who have pumped 134
> > terabytes of data, 1.4 billion messages and all this with a max heap
> > size of <2Gb and no leaks.
> >
> > Paul
> >
> > On Thu, May 19, 2011 at 1:49 AM, Abid Khan-EXT <Ab...@jeppesen.com>
> > wrote:
> > > Hello all,
> > >
> > > I am troubleshooting an instance where I had used Synapse, the issue is
> > that after delivering few thousand message server runs out of memory.
> > >
> > > I investigated and found out that for each message that is delivered
> > Synapse is leaking following two objects:
> > >
> > > 1) org.apache.axis2.context.MessageContext
> > >
> > > 2) org.apache.synapse.core.axis2.Axis2MessageContext
> > >
> > > I thought that it might be related to threads and ThreadLocal, but when
> I
> > scanned the thread local of all 160+ threads those objects were not
> there.
> > >
> > > It seems that synapse is keeping those two object in its some internal
> > object, that is difficult to find.
> > >
> > > Because of this problem those objects; server leaks memory at very high
> > rate, and freezes after few hours of running?
> > >
> > > Any immediate response will be appreciated,
> > >
> > >
> > > Thanks,
> > > Abid
> > >
> >
> >
> >
> > --
> > Paul Fremantle
> > Co-Founder and CTO, WSO2
> > Apache Synapse PMC Chair
> > OASIS WS-RX TC Co-chair
> >
> > blog: http://pzf.fremantle.org
> > paul@wso2.com
> >
> > "Oxygenating the Web Service Platform", www.wso2.com
> >
>
>
>
> --
> Hiranya Jayathilaka
> Senior Software Engineer;
> WSO2 Inc.;  http://wso2.org
> E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
> Blog: http://techfeast-hiranya.blogspot.com
>

RE: Please help: does Synapse leak memory?

Posted by Abid Khan-EXT <Ab...@jeppesen.com>.
Thanks Hiranya,

I have done some more research, and found out the it leaks memory only on the failures. Not on successful deliver.

To give you the back ground, I had a typo in one of the endpoint URL. And I had only two endpoints, all the message that were attempted to be delivered to that "wrong" url; failed. That is what lead to this leaking issue.

On the other hand the server I was testing had -Xms1024m, and -Xmx2048m. So its little better than what I was thinking.

I am still digging into and trying to find where the leak is. I will update if I found anything but so far it's a leak on the failures only.

If you can find out if this is correct that Synapse could leak those two object on failures. That will help.

Thanks,
Abid




-----Original Message-----
From: Hiranya Jayathilaka [mailto:hiranya911@gmail.com] 
Sent: Thursday, May 19, 2011 12:09 PM
To: user@synapse.apache.org
Subject: Re: Please help: does Synapse leak memory?

Synapse creates an Axis2MessageContext for each message received. Each
Axis2MessageContext instance encapsulates a MessageContext object. But
Synapse does not keep them in memory for too long. As soon as messages are
mediated and sent to the corresponding endpoints/clients, they are
discarded. These objects could be fairly big since they contain message
payload, properties and all other context information of messages. So if
Synapse is keeping them in memory forever, we won't be able to run any
scenario with Synapse for more than several hours. But as Paul mentioned we
have seen some pretty heavy duty deployments of Synapse dealing with
hundreds of transactions every second. One of the key strengths of Synapse
is that it can handle very high volumes of messages with a very small memory
footprint.

How much memory have you allocated for JBoss server? Also what is your
Synapse configuration like? What's the memory usage pattern when you run
Synapse standalone (ie without JBoss)?

Thanks,
Hiranya

On Thu, May 19, 2011 at 9:17 PM, Abid Khan-EXT <Ab...@jeppesen.com>wrote:

> Hello Paul,
>
> What you are telling me is a good news. The facts I have here, are
> different. I ran the server for a load-test and ran only 26000 message (of
> about 1K each message size), that made the GC threads taking over every
> thing, the java process was so stuck that the jboss-shutdown command could
> not bring it down.
>
> And my trace log (memory profiling) showed that one instance of both
> MessageContext and Axis2MessageContext were leaked for every message that is
> delivered/processed.
>
> I am using 1.2 GA of synapse. And I am running it in JBoss.
>
> And will be more than happy to send the thread dump, but that is very big.
>
> Once again thanks for getting back to me and I am looking for good pointers
> from you very soon.
>
> Regards,
> Abid
>
>
>
>
> -----Original Message-----
> From: Paul Fremantle [mailto:pzfreo@gmail.com]
> Sent: Wednesday, May 18, 2011 8:39 PM
> To: user@synapse.apache.org
> Subject: Re: Please help: does Synapse leak memory?
>
> Abid
>
> Can you give us some idea of the flows? I know that Synapse is usually
> memory safe - I have thread dumps from people who have pumped 134
> terabytes of data, 1.4 billion messages and all this with a max heap
> size of <2Gb and no leaks.
>
> Paul
>
> On Thu, May 19, 2011 at 1:49 AM, Abid Khan-EXT <Ab...@jeppesen.com>
> wrote:
> > Hello all,
> >
> > I am troubleshooting an instance where I had used Synapse, the issue is
> that after delivering few thousand message server runs out of memory.
> >
> > I investigated and found out that for each message that is delivered
> Synapse is leaking following two objects:
> >
> > 1) org.apache.axis2.context.MessageContext
> >
> > 2) org.apache.synapse.core.axis2.Axis2MessageContext
> >
> > I thought that it might be related to threads and ThreadLocal, but when I
> scanned the thread local of all 160+ threads those objects were not there.
> >
> > It seems that synapse is keeping those two object in its some internal
> object, that is difficult to find.
> >
> > Because of this problem those objects; server leaks memory at very high
> rate, and freezes after few hours of running?
> >
> > Any immediate response will be appreciated,
> >
> >
> > Thanks,
> > Abid
> >
>
>
>
> --
> Paul Fremantle
> Co-Founder and CTO, WSO2
> Apache Synapse PMC Chair
> OASIS WS-RX TC Co-chair
>
> blog: http://pzf.fremantle.org
> paul@wso2.com
>
> "Oxygenating the Web Service Platform", www.wso2.com
>



-- 
Hiranya Jayathilaka
Senior Software Engineer;
WSO2 Inc.;  http://wso2.org
E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
Blog: http://techfeast-hiranya.blogspot.com

Re: Please help: does Synapse leak memory?

Posted by Hiranya Jayathilaka <hi...@gmail.com>.
Synapse creates an Axis2MessageContext for each message received. Each
Axis2MessageContext instance encapsulates a MessageContext object. But
Synapse does not keep them in memory for too long. As soon as messages are
mediated and sent to the corresponding endpoints/clients, they are
discarded. These objects could be fairly big since they contain message
payload, properties and all other context information of messages. So if
Synapse is keeping them in memory forever, we won't be able to run any
scenario with Synapse for more than several hours. But as Paul mentioned we
have seen some pretty heavy duty deployments of Synapse dealing with
hundreds of transactions every second. One of the key strengths of Synapse
is that it can handle very high volumes of messages with a very small memory
footprint.

How much memory have you allocated for JBoss server? Also what is your
Synapse configuration like? What's the memory usage pattern when you run
Synapse standalone (ie without JBoss)?

Thanks,
Hiranya

On Thu, May 19, 2011 at 9:17 PM, Abid Khan-EXT <Ab...@jeppesen.com>wrote:

> Hello Paul,
>
> What you are telling me is a good news. The facts I have here, are
> different. I ran the server for a load-test and ran only 26000 message (of
> about 1K each message size), that made the GC threads taking over every
> thing, the java process was so stuck that the jboss-shutdown command could
> not bring it down.
>
> And my trace log (memory profiling) showed that one instance of both
> MessageContext and Axis2MessageContext were leaked for every message that is
> delivered/processed.
>
> I am using 1.2 GA of synapse. And I am running it in JBoss.
>
> And will be more than happy to send the thread dump, but that is very big.
>
> Once again thanks for getting back to me and I am looking for good pointers
> from you very soon.
>
> Regards,
> Abid
>
>
>
>
> -----Original Message-----
> From: Paul Fremantle [mailto:pzfreo@gmail.com]
> Sent: Wednesday, May 18, 2011 8:39 PM
> To: user@synapse.apache.org
> Subject: Re: Please help: does Synapse leak memory?
>
> Abid
>
> Can you give us some idea of the flows? I know that Synapse is usually
> memory safe - I have thread dumps from people who have pumped 134
> terabytes of data, 1.4 billion messages and all this with a max heap
> size of <2Gb and no leaks.
>
> Paul
>
> On Thu, May 19, 2011 at 1:49 AM, Abid Khan-EXT <Ab...@jeppesen.com>
> wrote:
> > Hello all,
> >
> > I am troubleshooting an instance where I had used Synapse, the issue is
> that after delivering few thousand message server runs out of memory.
> >
> > I investigated and found out that for each message that is delivered
> Synapse is leaking following two objects:
> >
> > 1) org.apache.axis2.context.MessageContext
> >
> > 2) org.apache.synapse.core.axis2.Axis2MessageContext
> >
> > I thought that it might be related to threads and ThreadLocal, but when I
> scanned the thread local of all 160+ threads those objects were not there.
> >
> > It seems that synapse is keeping those two object in its some internal
> object, that is difficult to find.
> >
> > Because of this problem those objects; server leaks memory at very high
> rate, and freezes after few hours of running?
> >
> > Any immediate response will be appreciated,
> >
> >
> > Thanks,
> > Abid
> >
>
>
>
> --
> Paul Fremantle
> Co-Founder and CTO, WSO2
> Apache Synapse PMC Chair
> OASIS WS-RX TC Co-chair
>
> blog: http://pzf.fremantle.org
> paul@wso2.com
>
> "Oxygenating the Web Service Platform", www.wso2.com
>



-- 
Hiranya Jayathilaka
Senior Software Engineer;
WSO2 Inc.;  http://wso2.org
E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
Blog: http://techfeast-hiranya.blogspot.com

RE: Please help: does Synapse leak memory?

Posted by Abid Khan-EXT <Ab...@jeppesen.com>.
Hello Paul,

What you are telling me is a good news. The facts I have here, are different. I ran the server for a load-test and ran only 26000 message (of about 1K each message size), that made the GC threads taking over every thing, the java process was so stuck that the jboss-shutdown command could not bring it down.

And my trace log (memory profiling) showed that one instance of both MessageContext and Axis2MessageContext were leaked for every message that is delivered/processed.

I am using 1.2 GA of synapse. And I am running it in JBoss.

And will be more than happy to send the thread dump, but that is very big.

Once again thanks for getting back to me and I am looking for good pointers from you very soon.

Regards,
Abid




-----Original Message-----
From: Paul Fremantle [mailto:pzfreo@gmail.com] 
Sent: Wednesday, May 18, 2011 8:39 PM
To: user@synapse.apache.org
Subject: Re: Please help: does Synapse leak memory?

Abid

Can you give us some idea of the flows? I know that Synapse is usually
memory safe - I have thread dumps from people who have pumped 134
terabytes of data, 1.4 billion messages and all this with a max heap
size of <2Gb and no leaks.

Paul

On Thu, May 19, 2011 at 1:49 AM, Abid Khan-EXT <Ab...@jeppesen.com> wrote:
> Hello all,
>
> I am troubleshooting an instance where I had used Synapse, the issue is that after delivering few thousand message server runs out of memory.
>
> I investigated and found out that for each message that is delivered Synapse is leaking following two objects:
>
> 1) org.apache.axis2.context.MessageContext
>
> 2) org.apache.synapse.core.axis2.Axis2MessageContext
>
> I thought that it might be related to threads and ThreadLocal, but when I scanned the thread local of all 160+ threads those objects were not there.
>
> It seems that synapse is keeping those two object in its some internal object, that is difficult to find.
>
> Because of this problem those objects; server leaks memory at very high rate, and freezes after few hours of running?
>
> Any immediate response will be appreciated,
>
>
> Thanks,
> Abid
>



-- 
Paul Fremantle
Co-Founder and CTO, WSO2
Apache Synapse PMC Chair
OASIS WS-RX TC Co-chair

blog: http://pzf.fremantle.org
paul@wso2.com

"Oxygenating the Web Service Platform", www.wso2.com

Re: Please help: does Synapse leak memory?

Posted by Paul Fremantle <pz...@gmail.com>.
Abid

Can you give us some idea of the flows? I know that Synapse is usually
memory safe - I have thread dumps from people who have pumped 134
terabytes of data, 1.4 billion messages and all this with a max heap
size of <2Gb and no leaks.

Paul

On Thu, May 19, 2011 at 1:49 AM, Abid Khan-EXT <Ab...@jeppesen.com> wrote:
> Hello all,
>
> I am troubleshooting an instance where I had used Synapse, the issue is that after delivering few thousand message server runs out of memory.
>
> I investigated and found out that for each message that is delivered Synapse is leaking following two objects:
>
> 1) org.apache.axis2.context.MessageContext
>
> 2) org.apache.synapse.core.axis2.Axis2MessageContext
>
> I thought that it might be related to threads and ThreadLocal, but when I scanned the thread local of all 160+ threads those objects were not there.
>
> It seems that synapse is keeping those two object in its some internal object, that is difficult to find.
>
> Because of this problem those objects; server leaks memory at very high rate, and freezes after few hours of running?
>
> Any immediate response will be appreciated,
>
>
> Thanks,
> Abid
>



-- 
Paul Fremantle
Co-Founder and CTO, WSO2
Apache Synapse PMC Chair
OASIS WS-RX TC Co-chair

blog: http://pzf.fremantle.org
paul@wso2.com

"Oxygenating the Web Service Platform", www.wso2.com

Please help: does Synapse leak memory?

Posted by Abid Khan-EXT <Ab...@jeppesen.com>.
Hello all,

I am troubleshooting an instance where I had used Synapse, the issue is that after delivering few thousand message server runs out of memory.

I investigated and found out that for each message that is delivered Synapse is leaking following two objects:

1) org.apache.axis2.context.MessageContext

2) org.apache.synapse.core.axis2.Axis2MessageContext

I thought that it might be related to threads and ThreadLocal, but when I scanned the thread local of all 160+ threads those objects were not there.

It seems that synapse is keeping those two object in its some internal object, that is difficult to find.

Because of this problem those objects; server leaks memory at very high rate, and freezes after few hours of running?

Any immediate response will be appreciated,


Thanks,
Abid

RE: Help needed

Posted by Abid Khan-EXT <Ab...@jeppesen.com>.
That is inside a filter-condition, there are different kind of messages that are flowing thru synapse, in the case when the type is 1, that is where the issue is.

For all other types of message is expected to be done, in the "else" section of the filter. However when the type of is 1. Then only the application on target endpoint is expected response.

So this config:

<filter source="get-property('com.jeppesen.jsi.message.Type')" regex="1">
               <then>
                    <class name="com.jeppesen.jsi.synapse.ContentBasedRouter"/>
                    <drop/>
               </then>



               <else>
                    <class name="com.jeppesen.jsi.synapse.MonitorLogger">
                         <property name="TextLine" value="SyncAsync-Filter -- The message is asynchronous it will be delivered asynchronously.in other words; if the message is synchronous it will NEVER be delivered."/>
                         <property name="QueueKey" value="JetPlan"/>
                         <property name="Recipient" value="JetPlan"/>
                    </class>
                    <property name="RESPONSE" value="true"/>
                    <header name="To" action="remove"/>
                    <class name="com.jeppesen.jsi.synapse.Responder">
                         <property name="ResponseCode" value="200"/>
                    </class>
                    <out>
                         <send/>
                    </out>
               </else>
          </filter>

Please advise.

Thanks,
Abid

-----Original Message-----
From: Sadeep Jayasumana [mailto:gayansadeep@gmail.com] 
Sent: Tuesday, July 12, 2011 12:22 AM
To: user@synapse.apache.org
Subject: Re: Help needed

Hi Abid,

I see the following configuration in JetPlan-JSI-EntrySequence.

<property name="RESPONSE" value="true"/>
<header name="To" action="remove"/>
<class name="com.jeppesen.jsi.synapse.Responder">
    <property name="ResponseCode" value="200"/>
</class>
<out>
    <send/>
</out>

Could you explain the reason for setting the "RESPONSE" property to true
here? This property marks the message as a response message and sends back
to the synapse client. Is this the expected behavior?

Thanks,
Sadeep


On Mon, Jul 11, 2011 at 10:20 PM, Abid Khan-EXT <Ab...@jeppesen.com>wrote:

> Sorry for got to attach.
>
>
>
>
> -----Original Message-----
> From: Abid Khan-EXT [mailto:Abid.Khan@jeppesen.com]
> Sent: Monday, July 11, 2011 10:38 AM
> To: user@synapse.apache.org
> Subject: RE: Help needed
>
>
> The proxy config is like :
>
> <proxy name="JetPlan" transports="http">
>          <target inSequence="JetPlan-JSI-EntrySequence"
> outSequence="JetPlanOutSeq"/>
> </proxy>
>
> I have attached the full synapse configuration too, just in case you need
> anything else.
>
> Thanks for helping,
> Abid
>
> -----Original Message-----
> From: Hiranya Jayathilaka [mailto:hiranya911@gmail.com]
> Sent: Monday, July 11, 2011 3:20 AM
> To: user@synapse.apache.org
> Subject: Re: Help needed
>
> Any chance of taking a look at the full proxy config?
>
> Thanks,
> Hiranya
>
> On Sat, Jul 9, 2011 at 8:59 AM, Abid Khan-EXT <Abid.Khan@jeppesen.com
> >wrote:
>
> > Hello all,
> >
> > I am using Synapse 1.2.
> >
> > I just have run into a problem;
> >
> > I have a proxy that has target with "inSequense" and "outSequence",
> > "inSequence" also has a onErrorSequence.
> >
> > The <send..> mediator is the last mediator in the "inSequence".
> >
> > The problem is as soon as the message is sent, empty response is written
> to
> > the client, and when the endpoint returns the actual response, it cannot
> be
> > written and exception is logged "response is already committed..."
> >
> > My understanding was that outSequence would be initiated, and the client
> is
> > put on hold until after the response is received by synapse?
> >
> > Please help,
> >
> > Thanks,
> > Abid
> >
> >
> >
>
>
> --
> Hiranya Jayathilaka
> Senior Software Engineer;
> WSO2 Inc.;  http://wso2.org
> E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
> Blog: http://techfeast-hiranya.blogspot.com
>



-- 
Sadeep

Re: Help needed

Posted by Sadeep Jayasumana <ga...@gmail.com>.
Hi Abid,

I see the following configuration in JetPlan-JSI-EntrySequence.

<property name="RESPONSE" value="true"/>
<header name="To" action="remove"/>
<class name="com.jeppesen.jsi.synapse.Responder">
    <property name="ResponseCode" value="200"/>
</class>
<out>
    <send/>
</out>

Could you explain the reason for setting the "RESPONSE" property to true
here? This property marks the message as a response message and sends back
to the synapse client. Is this the expected behavior?

Thanks,
Sadeep


On Mon, Jul 11, 2011 at 10:20 PM, Abid Khan-EXT <Ab...@jeppesen.com>wrote:

> Sorry for got to attach.
>
>
>
>
> -----Original Message-----
> From: Abid Khan-EXT [mailto:Abid.Khan@jeppesen.com]
> Sent: Monday, July 11, 2011 10:38 AM
> To: user@synapse.apache.org
> Subject: RE: Help needed
>
>
> The proxy config is like :
>
> <proxy name="JetPlan" transports="http">
>          <target inSequence="JetPlan-JSI-EntrySequence"
> outSequence="JetPlanOutSeq"/>
> </proxy>
>
> I have attached the full synapse configuration too, just in case you need
> anything else.
>
> Thanks for helping,
> Abid
>
> -----Original Message-----
> From: Hiranya Jayathilaka [mailto:hiranya911@gmail.com]
> Sent: Monday, July 11, 2011 3:20 AM
> To: user@synapse.apache.org
> Subject: Re: Help needed
>
> Any chance of taking a look at the full proxy config?
>
> Thanks,
> Hiranya
>
> On Sat, Jul 9, 2011 at 8:59 AM, Abid Khan-EXT <Abid.Khan@jeppesen.com
> >wrote:
>
> > Hello all,
> >
> > I am using Synapse 1.2.
> >
> > I just have run into a problem;
> >
> > I have a proxy that has target with "inSequense" and "outSequence",
> > "inSequence" also has a onErrorSequence.
> >
> > The <send..> mediator is the last mediator in the "inSequence".
> >
> > The problem is as soon as the message is sent, empty response is written
> to
> > the client, and when the endpoint returns the actual response, it cannot
> be
> > written and exception is logged "response is already committed..."
> >
> > My understanding was that outSequence would be initiated, and the client
> is
> > put on hold until after the response is received by synapse?
> >
> > Please help,
> >
> > Thanks,
> > Abid
> >
> >
> >
>
>
> --
> Hiranya Jayathilaka
> Senior Software Engineer;
> WSO2 Inc.;  http://wso2.org
> E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
> Blog: http://techfeast-hiranya.blogspot.com
>



-- 
Sadeep

RE: Help needed

Posted by Abid Khan-EXT <Ab...@jeppesen.com>.
Sorry for got to attach.




-----Original Message-----
From: Abid Khan-EXT [mailto:Abid.Khan@jeppesen.com] 
Sent: Monday, July 11, 2011 10:38 AM
To: user@synapse.apache.org
Subject: RE: Help needed


The proxy config is like :

<proxy name="JetPlan" transports="http">
          <target inSequence="JetPlan-JSI-EntrySequence" outSequence="JetPlanOutSeq"/>
</proxy>

I have attached the full synapse configuration too, just in case you need anything else.

Thanks for helping,
Abid

-----Original Message-----
From: Hiranya Jayathilaka [mailto:hiranya911@gmail.com] 
Sent: Monday, July 11, 2011 3:20 AM
To: user@synapse.apache.org
Subject: Re: Help needed

Any chance of taking a look at the full proxy config?

Thanks,
Hiranya

On Sat, Jul 9, 2011 at 8:59 AM, Abid Khan-EXT <Ab...@jeppesen.com>wrote:

> Hello all,
>
> I am using Synapse 1.2.
>
> I just have run into a problem;
>
> I have a proxy that has target with "inSequense" and "outSequence",
> "inSequence" also has a onErrorSequence.
>
> The <send..> mediator is the last mediator in the "inSequence".
>
> The problem is as soon as the message is sent, empty response is written to
> the client, and when the endpoint returns the actual response, it cannot be
> written and exception is logged "response is already committed..."
>
> My understanding was that outSequence would be initiated, and the client is
> put on hold until after the response is received by synapse?
>
> Please help,
>
> Thanks,
> Abid
>
>
>


-- 
Hiranya Jayathilaka
Senior Software Engineer;
WSO2 Inc.;  http://wso2.org
E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
Blog: http://techfeast-hiranya.blogspot.com

RE: Help needed

Posted by Abid Khan-EXT <Ab...@jeppesen.com>.
The proxy config is like :

<proxy name="JetPlan" transports="http">
          <target inSequence="JetPlan-JSI-EntrySequence" outSequence="JetPlanOutSeq"/>
</proxy>

I have attached the full synapse configuration too, just in case you need anything else.

Thanks for helping,
Abid

-----Original Message-----
From: Hiranya Jayathilaka [mailto:hiranya911@gmail.com] 
Sent: Monday, July 11, 2011 3:20 AM
To: user@synapse.apache.org
Subject: Re: Help needed

Any chance of taking a look at the full proxy config?

Thanks,
Hiranya

On Sat, Jul 9, 2011 at 8:59 AM, Abid Khan-EXT <Ab...@jeppesen.com>wrote:

> Hello all,
>
> I am using Synapse 1.2.
>
> I just have run into a problem;
>
> I have a proxy that has target with "inSequense" and "outSequence",
> "inSequence" also has a onErrorSequence.
>
> The <send..> mediator is the last mediator in the "inSequence".
>
> The problem is as soon as the message is sent, empty response is written to
> the client, and when the endpoint returns the actual response, it cannot be
> written and exception is logged "response is already committed..."
>
> My understanding was that outSequence would be initiated, and the client is
> put on hold until after the response is received by synapse?
>
> Please help,
>
> Thanks,
> Abid
>
>
>


-- 
Hiranya Jayathilaka
Senior Software Engineer;
WSO2 Inc.;  http://wso2.org
E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
Blog: http://techfeast-hiranya.blogspot.com

Re: Help needed

Posted by Hiranya Jayathilaka <hi...@gmail.com>.
Any chance of taking a look at the full proxy config?

Thanks,
Hiranya

On Sat, Jul 9, 2011 at 8:59 AM, Abid Khan-EXT <Ab...@jeppesen.com>wrote:

> Hello all,
>
> I am using Synapse 1.2.
>
> I just have run into a problem;
>
> I have a proxy that has target with "inSequense" and "outSequence",
> "inSequence" also has a onErrorSequence.
>
> The <send..> mediator is the last mediator in the "inSequence".
>
> The problem is as soon as the message is sent, empty response is written to
> the client, and when the endpoint returns the actual response, it cannot be
> written and exception is logged "response is already committed..."
>
> My understanding was that outSequence would be initiated, and the client is
> put on hold until after the response is received by synapse?
>
> Please help,
>
> Thanks,
> Abid
>
>
>


-- 
Hiranya Jayathilaka
Senior Software Engineer;
WSO2 Inc.;  http://wso2.org
E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
Blog: http://techfeast-hiranya.blogspot.com

RE: Help needed

Posted by Abid Khan-EXT <Ab...@jeppesen.com>.
Hello Sadeep,


No I am not using that "FORCE_SC_ACCEPTED", and here is the full configuration:

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://ws.apache.org/ns/synapse">
     <sequence name="JSI_Main_fault">
          <log level="custom">
               <property name="text" value="An unexpected error occured"/>
               <property name="message" expression="get-property('ERROR_DETAIL')"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.ResponsePosted"/>
     </sequence>
     <endpoint name="JetPlan_Sync">
          <address uri="http://denopsd3:8080/jetplan/services/Plan" format="pox">
               <suspendDurationOnFailure>2</suspendDurationOnFailure>
          </address>
     </endpoint>
     <endpoint name="JetPlan_ASync">
          <address uri="http://denopsd3:8080/jetplan/services/Plan" format="pox">
               <suspendDurationOnFailure>2</suspendDurationOnFailure>
          </address>
     </endpoint>
     <sequence name="JetPlanOutSeq">
          <log level="custom">
               <property name="text" value="Sequence {JetPlanOutSeq} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {JetPlanOutSeq} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {JetPlanOutSeq_PostResponse} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {JetPlanOutSeq_PostResponse} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Checking to whether store the response, and store the response"/>
               <property name="InOutSequence" value="true"/>
               <property name="RecordResponse" value="true"/>
          </class>
          <send/>
          <log level="custom">
               <property name="text" value="Invoking {JetPlanOutSeq_PostResponseNotify} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {JetPlanOutSeq_PostResponseNotify} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.ResponsePosted"/>
     </sequence>
     <proxy name="JetPlan" transports="http">
          <target inSequence="JetPlan-JSI-EntrySequence" outSequence="JetPlanOutSeq"/>
     </proxy>
     <endpoint name="RAIM_Sync">
          <address uri="http://localhost:50091/raim/echo" format="pox">
               <suspendDurationOnFailure>2</suspendDurationOnFailure>
          </address>
     </endpoint>
     <endpoint name="RAIM_ASync">
          <address uri="http://localhost:50091/raim/echo" format="pox">
               <suspendDurationOnFailure>2</suspendDurationOnFailure>
          </address>
     </endpoint>
     <sequence name="RAIMOutSeq">
          <log level="custom">
               <property name="text" value="Sequence {RAIMOutSeq} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {RAIMOutSeq} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {RAIMOutSeq_PostResponse} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {RAIMOutSeq_PostResponse} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Checking to whether store the response, and store the response"/>
               <property name="InOutSequence" value="true"/>
               <property name="RecordResponse" value="true"/>
          </class>
          <send/>
          <log level="custom">
               <property name="text" value="Invoking {RAIMOutSeq_PostResponseNotify} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {RAIMOutSeq_PostResponseNotify} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.ResponsePosted"/>
     </sequence>
     <proxy name="RAIM" transports="http">
          <target inSequence="RAIM-JSI-EntrySequence" outSequence="RAIMOutSeq"/>
     </proxy>
     <endpoint name="SWPerfModule_Sync">
          <address uri="http://localhost:50091/raim/echo" format="pox">
               <suspendDurationOnFailure>2</suspendDurationOnFailure>
          </address>
     </endpoint>
     <endpoint name="SWPerfModule_ASync">
          <address uri="http://localhost:50091/raim/echo" format="pox">
               <suspendDurationOnFailure>2</suspendDurationOnFailure>
          </address>
     </endpoint>
     <sequence name="SWPerfModuleOutSeq">
          <log level="custom">
               <property name="text" value="Sequence {SWPerfModuleOutSeq} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {SWPerfModuleOutSeq} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {SWPerfModuleOutSeq_PostResponse} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {SWPerfModuleOutSeq_PostResponse} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Checking to whether store the response, and store the response"/>
               <property name="InOutSequence" value="true"/>
               <property name="RecordResponse" value="true"/>
          </class>
          <send/>
          <log level="custom">
               <property name="text" value="Invoking {SWPerfModuleOutSeq_PostResponseNotify} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {SWPerfModuleOutSeq_PostResponseNotify} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.ResponsePosted"/>
     </sequence>
     <proxy name="SWPerfModule" transports="http">
          <target inSequence="SWPerfModule-JSI-EntrySequence" outSequence="SWPerfModuleOutSeq"/>
     </proxy>
     <sequence name="JDCOutSeq">
          <log level="custom">
               <property name="text" value="Sequence {JDCOutSeq} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {JDCOutSeq} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {JDCOutSeq_PostResponse} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {JDCOutSeq_PostResponse} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Checking to whether store the response, and store the response"/>
               <property name="InOutSequence" value="true"/>
               <property name="RecordResponse" value="true"/>
          </class>
          <send/>
          <log level="custom">
               <property name="text" value="Invoking {JDCOutSeq_PostResponseNotify} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {JDCOutSeq_PostResponseNotify} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.ResponsePosted"/>
     </sequence>
     <proxy name="JDC" transports="http">
          <target inSequence="JDC-JSI-EntrySequence" outSequence="JDCOutSeq"/>
     </proxy>
     <endpoint name="Twitter_Sync">
          <address uri="http://localhost:50091/sample/SampleProduct" format="pox">
               <suspendDurationOnFailure>2</suspendDurationOnFailure>
          </address>
     </endpoint>
     <endpoint name="Twitter_ASync">
          <address uri="http://localhost:50091/sample/SampleProduct" format="pox">
               <suspendDurationOnFailure>2</suspendDurationOnFailure>
          </address>
     </endpoint>
     <sequence name="TwitterOutSeq">
          <log level="custom">
               <property name="text" value="Sequence {TwitterOutSeq} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {TwitterOutSeq} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {TwitterOutSeq_PostResponse} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {TwitterOutSeq_PostResponse} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Checking to whether store the response, and store the response"/>
               <property name="InOutSequence" value="true"/>
               <property name="RecordResponse" value="true"/>
          </class>
          <send/>
          <log level="custom">
               <property name="text" value="Invoking {TwitterOutSeq_PostResponseNotify} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {TwitterOutSeq_PostResponseNotify} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.ResponsePosted"/>
     </sequence>
     <proxy name="Twitter" transports="http">
          <target inSequence="Twitter-JSI-EntrySequence" outSequence="TwitterOutSeq"/>
     </proxy>
     <endpoint name="AeroData_Sync">
          <address uri="http://localhost:50091/raim/echo" format="pox">
               <suspendDurationOnFailure>2</suspendDurationOnFailure>
          </address>
     </endpoint>
     <endpoint name="AeroData_ASync">
          <address uri="http://localhost:50091/raim/echo" format="pox">
               <suspendDurationOnFailure>2</suspendDurationOnFailure>
          </address>
     </endpoint>
     <sequence name="AeroDataOutSeq">
          <log level="custom">
               <property name="text" value="Sequence {AeroDataOutSeq} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {AeroDataOutSeq} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {AeroDataOutSeq_PostResponse} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {AeroDataOutSeq_PostResponse} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Checking to whether store the response, and store the response"/>
               <property name="InOutSequence" value="true"/>
               <property name="RecordResponse" value="true"/>
          </class>
          <send/>
          <log level="custom">
               <property name="text" value="Invoking {AeroDataOutSeq_PostResponseNotify} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {AeroDataOutSeq_PostResponseNotify} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.ResponsePosted"/>
     </sequence>
     <proxy name="AeroData" transports="http">
          <target inSequence="AeroData-JSI-EntrySequence" outSequence="AeroDataOutSeq"/>
     </proxy>
     <sequence name="JetPlan_Sync_RetrySequence" onError="Fault_JetPlan_Sync_DeliverySequence">
          <property name="ERROR_MESSAGE" action="remove" value="null"/>
          <log level="custom">
               <property name="text" value="Sequence {JetPlan_Sync_RetrySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {JetPlan_Sync_RetrySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {JetPlan_Sync_RetrySequence_Fetch} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="JetPlan_Sync"/>
               <property name="TextLine" value="Invoking {JetPlan_Sync_RetrySequence_Fetch} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Fetch">
               <property name="QueueKey" value="JetPlan_Sync"/>
               <property name="MessageStatus" value="3"/>
               <property name="PostMessage" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {JetPlan_Sync_RetrySequence_XVersion} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="JetPlan_Sync"/>
               <property name="TextLine" value="Invoking {JetPlan_Sync_RetrySequence_XVersion} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Transform">
               <property name="ProductName" value="JetPlan"/>
               <property name="WrapInEnvelop" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {JetPlan_Sync_RetrySequence_Send} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="JetPlan_Sync"/>
               <property name="TextLine" value="Invoking {JetPlan_Sync_RetrySequence_Send} mediator"/>
          </class>
          <send>
               <endpoint key="JetPlan_Sync"/>
          </send>
          <class name="com.jeppesen.jsi.synapse.ResponseWaiter">
               <property name="QueueKey" value="JetPlan_Sync"/>
               <property name="RetryDelay" value="5"/>
               <property name="MaxTries" value="3"/>
               <property name="RetrySeqName" value="JetPlan_Sync_RetrySequence"/>
               <property name="FailureSeqName" value="Failure_JetPlan_Sync_DeliverySequence"/>
          </class>
          <filter source="get-property('com.jeppesen.jsi.synapse.ResponseWaiter.MessageMarkedFailed')" regex="false">
               <then>
                    <class name="com.jeppesen.jsi.synapse.Fetch">
                         <property name="QueueKey" value="JetPlan_Sync"/>
                         <property name="MessageStatus" value="4"/>
                         <property name="PostMessage" value="false"/>
                    </class>
               </then>
          </filter>
          <drop/>
     </sequence>
     <sequence name="Fault_JetPlan_Sync_DeliverySequence">
          <log level="custom">
               <property name="text" value="Sequence {Fault_JetPlan_Sync_DeliverySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {Fault_JetPlan_Sync_DeliverySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Fault_JetPlan_Sync_DeliverySequence_Retrying} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="JetPlan_Sync"/>
               <property name="TextLine" value="Invoking {Fault_JetPlan_Sync_DeliverySequence_Retrying} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.ResponsePosted">
               <property name="FailureOccurred" value="true"/>
          </class>
     </sequence>
     <sequence name="Failure_JetPlan_Sync_DeliverySequence" onError="JSI_Main_fault">
          <log level="custom">
               <property name="text" value="Sequence {Failure_JetPlan_Sync_DeliverySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {Failure_JetPlan_Sync_DeliverySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Failure_JetPlan_Sync_DeliverySequence_FailedMarked} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {Failure_JetPlan_Sync_DeliverySequence_FailedMarked} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Fetch">
               <property name="QueueKey" value="JetPlan_Sync"/>
               <property name="MessageStatus" value="2"/>
               <property name="PostMessage" value="false"/>
          </class>
          <makefault response="true">
               <code xmlns:tns="http://www.w3.org/2003/05/soap-envelope" value="tns:Receiver"/>
               <reason expression="get-property('ERROR_MESSAGE')"/>
          </makefault>
          <property name="RESPONSE" action="set" value="true"/>
          <header name="To" action="remove"/>
          <send/>
          <class name="com.jeppesen.jsi.synapse.ResponsePosted"/>
     </sequence>
     <sequence name="JetPlan_ASync_DeliverySequence" onError="Fault_JetPlan_ASync_DeliverySequence">
          <log level="custom">
               <property name="text" value="Sequence {JetPlan_ASync_DeliverySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {JetPlan_ASync_DeliverySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {JetPlan_ASync_DeliverySequence_Fetch} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="JetPlan_ASync"/>
               <property name="TextLine" value="Invoking {JetPlan_ASync_DeliverySequence_Fetch} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Fetch">
               <property name="QueueKey" value="JetPlan_ASync"/>
               <property name="MessageStatus" value="3"/>
               <property name="PostMessage" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {JetPlan_ASync_DeliverySequence_XVersion} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="JetPlan_ASync"/>
               <property name="TextLine" value="Invoking {JetPlan_ASync_DeliverySequence_XVersion} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Transform">
               <property name="ProductName" value="JetPlan"/>
               <property name="WrapInEnvelop" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {JetPlan_ASync_DeliverySequence_Send} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="JetPlan_ASync"/>
               <property name="TextLine" value="Invoking {JetPlan_ASync_DeliverySequence_Send} mediator"/>
          </class>
          <send>
               <endpoint key="JetPlan_ASync"/>
          </send>
     </sequence>
     <sequence name="JetPlan_ASync_RetrySequence" onError="Fault_JetPlan_ASync_DeliverySequence">
          <property name="ERROR_MESSAGE" action="remove" value="null"/>
          <log level="custom">
               <property name="text" value="Sequence {JetPlan_ASync_RetrySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {JetPlan_ASync_RetrySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {JetPlan_ASync_RetrySequence_Fetch} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="JetPlan_ASync"/>
               <property name="TextLine" value="Invoking {JetPlan_ASync_RetrySequence_Fetch} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Fetch">
               <property name="QueueKey" value="JetPlan_ASync"/>
               <property name="MessageStatus" value="3"/>
               <property name="PostMessage" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {JetPlan_ASync_RetrySequence_XVersion} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="JetPlan_ASync"/>
               <property name="TextLine" value="Invoking {JetPlan_ASync_RetrySequence_XVersion} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Transform">
               <property name="ProductName" value="JetPlan"/>
               <property name="WrapInEnvelop" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {JetPlan_ASync_RetrySequence_Send} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="JetPlan_ASync"/>
               <property name="TextLine" value="Invoking {JetPlan_ASync_RetrySequence_Send} mediator"/>
          </class>
          <send>
               <endpoint key="JetPlan_ASync"/>
          </send>
     </sequence>
     <sequence name="Fault_JetPlan_ASync_DeliverySequence">
          <log level="custom">
               <property name="text" value="Sequence {Fault_JetPlan_ASync_DeliverySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {Fault_JetPlan_ASync_DeliverySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Fault_JetPlan_ASync_DeliverySequence_Retrying} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="JetPlan_ASync"/>
               <property name="TextLine" value="Invoking {Fault_JetPlan_ASync_DeliverySequence_Retrying} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.ResponsePosted">
               <property name="FailureOccurred" value="true"/>
          </class>
     </sequence>
     <sequence name="Failure_JetPlan_ASync_DeliverySequence" onError="JSI_Main_fault">
          <log level="custom">
               <property name="text" value="Sequence {Failure_JetPlan_ASync_DeliverySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {Failure_JetPlan_ASync_DeliverySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Failure_JetPlan_ASync_DeliverySequence_FailedMarked} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {Failure_JetPlan_ASync_DeliverySequence_FailedMarked} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Fetch">
               <property name="QueueKey" value="JetPlan_ASync"/>
               <property name="MessageStatus" value="2"/>
               <property name="PostMessage" value="false"/>
          </class>
     </sequence>
     <sequence name="RAIM_Sync_DeliverySequence" onError="Fault_RAIM_Sync_DeliverySequence">
          <log level="custom">
               <property name="text" value="Sequence {RAIM_Sync_DeliverySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {RAIM_Sync_DeliverySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {RAIM_Sync_DeliverySequence_Fetch} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="RAIM_Sync"/>
               <property name="TextLine" value="Invoking {RAIM_Sync_DeliverySequence_Fetch} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Fetch">
               <property name="QueueKey" value="RAIM_Sync"/>
               <property name="MessageStatus" value="3"/>
               <property name="PostMessage" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {RAIM_Sync_DeliverySequence_XVersion} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="RAIM_Sync"/>
               <property name="TextLine" value="Invoking {RAIM_Sync_DeliverySequence_XVersion} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Transform">
               <property name="ProductName" value="RAIM"/>
               <property name="WrapInEnvelop" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {RAIM_Sync_DeliverySequence_Send} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="RAIM_Sync"/>
               <property name="TextLine" value="Invoking {RAIM_Sync_DeliverySequence_Send} mediator"/>
          </class>
          <send>
               <endpoint key="RAIM_Sync"/>
          </send>
          <class name="com.jeppesen.jsi.synapse.ResponseWaiter">
               <property name="QueueKey" value="RAIM_Sync"/>
               <property name="RetryDelay" value="5"/>
               <property name="MaxTries" value="3"/>
               <property name="RetrySeqName" value="RAIM_Sync_RetrySequence"/>
               <property name="FailureSeqName" value="Failure_RAIM_Sync_DeliverySequence"/>
          </class>
          <filter source="get-property('com.jeppesen.jsi.synapse.ResponseWaiter.MessageMarkedFailed')" regex="false">
               <then>
                    <class name="com.jeppesen.jsi.synapse.Fetch">
                         <property name="QueueKey" value="RAIM_Sync"/>
                         <property name="MessageStatus" value="4"/>
                         <property name="PostMessage" value="false"/>
                    </class>
               </then>
          </filter>
          <drop/>
     </sequence>
     <sequence name="RAIM_Sync_RetrySequence" onError="Fault_RAIM_Sync_DeliverySequence">
          <property name="ERROR_MESSAGE" action="remove" value="null"/>
          <log level="custom">
               <property name="text" value="Sequence {RAIM_Sync_RetrySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {RAIM_Sync_RetrySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {RAIM_Sync_RetrySequence_Fetch} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="RAIM_Sync"/>
               <property name="TextLine" value="Invoking {RAIM_Sync_RetrySequence_Fetch} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Fetch">
               <property name="QueueKey" value="RAIM_Sync"/>
               <property name="MessageStatus" value="3"/>
               <property name="PostMessage" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {RAIM_Sync_RetrySequence_XVersion} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="RAIM_Sync"/>
               <property name="TextLine" value="Invoking {RAIM_Sync_RetrySequence_XVersion} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Transform">
               <property name="ProductName" value="RAIM"/>
               <property name="WrapInEnvelop" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {RAIM_Sync_RetrySequence_Send} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="RAIM_Sync"/>
               <property name="TextLine" value="Invoking {RAIM_Sync_RetrySequence_Send} mediator"/>
          </class>
          <send>
               <endpoint key="RAIM_Sync"/>
          </send>
          <class name="com.jeppesen.jsi.synapse.ResponseWaiter">
               <property name="QueueKey" value="RAIM_Sync"/>
               <property name="RetryDelay" value="5"/>
               <property name="MaxTries" value="3"/>
               <property name="RetrySeqName" value="RAIM_Sync_RetrySequence"/>
               <property name="FailureSeqName" value="Failure_RAIM_Sync_DeliverySequence"/>
          </class>
          <filter source="get-property('com.jeppesen.jsi.synapse.ResponseWaiter.MessageMarkedFailed')" regex="false">
               <then>
                    <class name="com.jeppesen.jsi.synapse.Fetch">
                         <property name="QueueKey" value="RAIM_Sync"/>
                         <property name="MessageStatus" value="4"/>
                         <property name="PostMessage" value="false"/>
                    </class>
               </then>
          </filter>
          <drop/>
     </sequence>
     <sequence name="Fault_RAIM_Sync_DeliverySequence">
          <log level="custom">
               <property name="text" value="Sequence {Fault_RAIM_Sync_DeliverySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {Fault_RAIM_Sync_DeliverySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Fault_RAIM_Sync_DeliverySequence_Retrying} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="RAIM_Sync"/>
               <property name="TextLine" value="Invoking {Fault_RAIM_Sync_DeliverySequence_Retrying} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.ResponsePosted">
               <property name="FailureOccurred" value="true"/>
          </class>
     </sequence>
     <sequence name="Failure_RAIM_Sync_DeliverySequence" onError="JSI_Main_fault">
          <log level="custom">
               <property name="text" value="Sequence {Failure_RAIM_Sync_DeliverySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {Failure_RAIM_Sync_DeliverySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Failure_RAIM_Sync_DeliverySequence_FailedMarked} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {Failure_RAIM_Sync_DeliverySequence_FailedMarked} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Fetch">
               <property name="QueueKey" value="RAIM_Sync"/>
               <property name="MessageStatus" value="2"/>
               <property name="PostMessage" value="false"/>
          </class>
          <makefault response="true">
               <code xmlns:tns="http://www.w3.org/2003/05/soap-envelope" value="tns:Receiver"/>
               <reason expression="get-property('ERROR_MESSAGE')"/>
          </makefault>
          <property name="RESPONSE" action="set" value="true"/>
          <header name="To" action="remove"/>
          <send/>
          <class name="com.jeppesen.jsi.synapse.ResponsePosted"/>
     </sequence>
     <sequence name="RAIM_ASync_DeliverySequence" onError="Fault_RAIM_ASync_DeliverySequence">
          <log level="custom">
               <property name="text" value="Sequence {RAIM_ASync_DeliverySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {RAIM_ASync_DeliverySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {RAIM_ASync_DeliverySequence_Fetch} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="RAIM_ASync"/>
               <property name="TextLine" value="Invoking {RAIM_ASync_DeliverySequence_Fetch} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Fetch">
               <property name="QueueKey" value="RAIM_ASync"/>
               <property name="MessageStatus" value="3"/>
               <property name="PostMessage" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {RAIM_ASync_DeliverySequence_XVersion} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="RAIM_ASync"/>
               <property name="TextLine" value="Invoking {RAIM_ASync_DeliverySequence_XVersion} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Transform">
               <property name="ProductName" value="RAIM"/>
               <property name="WrapInEnvelop" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {RAIM_ASync_DeliverySequence_Send} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="RAIM_ASync"/>
               <property name="TextLine" value="Invoking {RAIM_ASync_DeliverySequence_Send} mediator"/>
          </class>
          <send>
               <endpoint key="RAIM_ASync"/>
          </send>
     </sequence>
     <sequence name="RAIM_ASync_RetrySequence" onError="Fault_RAIM_ASync_DeliverySequence">
          <property name="ERROR_MESSAGE" action="remove" value="null"/>
          <log level="custom">
               <property name="text" value="Sequence {RAIM_ASync_RetrySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {RAIM_ASync_RetrySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {RAIM_ASync_RetrySequence_Fetch} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="RAIM_ASync"/>
               <property name="TextLine" value="Invoking {RAIM_ASync_RetrySequence_Fetch} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Fetch">
               <property name="QueueKey" value="RAIM_ASync"/>
               <property name="MessageStatus" value="3"/>
               <property name="PostMessage" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {RAIM_ASync_RetrySequence_XVersion} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="RAIM_ASync"/>
               <property name="TextLine" value="Invoking {RAIM_ASync_RetrySequence_XVersion} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Transform">
               <property name="ProductName" value="RAIM"/>
               <property name="WrapInEnvelop" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {RAIM_ASync_RetrySequence_Send} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="RAIM_ASync"/>
               <property name="TextLine" value="Invoking {RAIM_ASync_RetrySequence_Send} mediator"/>
          </class>
          <send>
               <endpoint key="RAIM_ASync"/>
          </send>
     </sequence>
     <sequence name="Fault_RAIM_ASync_DeliverySequence">
          <log level="custom">
               <property name="text" value="Sequence {Fault_RAIM_ASync_DeliverySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {Fault_RAIM_ASync_DeliverySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Fault_RAIM_ASync_DeliverySequence_Retrying} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="RAIM_ASync"/>
               <property name="TextLine" value="Invoking {Fault_RAIM_ASync_DeliverySequence_Retrying} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.ResponsePosted">
               <property name="FailureOccurred" value="true"/>
          </class>
     </sequence>
     <sequence name="Failure_RAIM_ASync_DeliverySequence" onError="JSI_Main_fault">
          <log level="custom">
               <property name="text" value="Sequence {Failure_RAIM_ASync_DeliverySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {Failure_RAIM_ASync_DeliverySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Failure_RAIM_ASync_DeliverySequence_FailedMarked} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {Failure_RAIM_ASync_DeliverySequence_FailedMarked} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Fetch">
               <property name="QueueKey" value="RAIM_ASync"/>
               <property name="MessageStatus" value="2"/>
               <property name="PostMessage" value="false"/>
          </class>
     </sequence>
     <sequence name="SWPerfModule_Sync_DeliverySequence" onError="Fault_SWPerfModule_Sync_DeliverySequence">
          <log level="custom">
               <property name="text" value="Sequence {SWPerfModule_Sync_DeliverySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {SWPerfModule_Sync_DeliverySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {SWPerfModule_Sync_DeliverySequence_Fetch} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="SWPerfModule_Sync"/>
               <property name="TextLine" value="Invoking {SWPerfModule_Sync_DeliverySequence_Fetch} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Fetch">
               <property name="QueueKey" value="SWPerfModule_Sync"/>
               <property name="MessageStatus" value="3"/>
               <property name="PostMessage" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {SWPerfModule_Sync_DeliverySequence_XVersion} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="SWPerfModule_Sync"/>
               <property name="TextLine" value="Invoking {SWPerfModule_Sync_DeliverySequence_XVersion} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Transform">
               <property name="ProductName" value="SWPerfModule"/>
               <property name="WrapInEnvelop" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {SWPerfModule_Sync_DeliverySequence_Send} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="SWPerfModule_Sync"/>
               <property name="TextLine" value="Invoking {SWPerfModule_Sync_DeliverySequence_Send} mediator"/>
          </class>
          <send>
               <endpoint key="SWPerfModule_Sync"/>
          </send>
          <class name="com.jeppesen.jsi.synapse.ResponseWaiter">
               <property name="QueueKey" value="SWPerfModule_Sync"/>
               <property name="RetryDelay" value="5"/>
               <property name="MaxTries" value="3"/>
               <property name="RetrySeqName" value="SWPerfModule_Sync_RetrySequence"/>
               <property name="FailureSeqName" value="Failure_SWPerfModule_Sync_DeliverySequence"/>
          </class>
          <filter source="get-property('com.jeppesen.jsi.synapse.ResponseWaiter.MessageMarkedFailed')" regex="false">
               <then>
                    <class name="com.jeppesen.jsi.synapse.Fetch">
                         <property name="QueueKey" value="SWPerfModule_Sync"/>
                         <property name="MessageStatus" value="4"/>
                         <property name="PostMessage" value="false"/>
                    </class>
               </then>
          </filter>
          <drop/>
     </sequence>
     <sequence name="SWPerfModule_Sync_RetrySequence" onError="Fault_SWPerfModule_Sync_DeliverySequence">
          <property name="ERROR_MESSAGE" action="remove" value="null"/>
          <log level="custom">
               <property name="text" value="Sequence {SWPerfModule_Sync_RetrySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {SWPerfModule_Sync_RetrySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {SWPerfModule_Sync_RetrySequence_Fetch} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="SWPerfModule_Sync"/>
               <property name="TextLine" value="Invoking {SWPerfModule_Sync_RetrySequence_Fetch} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Fetch">
               <property name="QueueKey" value="SWPerfModule_Sync"/>
               <property name="MessageStatus" value="3"/>
               <property name="PostMessage" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {SWPerfModule_Sync_RetrySequence_XVersion} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="SWPerfModule_Sync"/>
               <property name="TextLine" value="Invoking {SWPerfModule_Sync_RetrySequence_XVersion} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Transform">
               <property name="ProductName" value="SWPerfModule"/>
               <property name="WrapInEnvelop" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {SWPerfModule_Sync_RetrySequence_Send} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="SWPerfModule_Sync"/>
               <property name="TextLine" value="Invoking {SWPerfModule_Sync_RetrySequence_Send} mediator"/>
          </class>
          <send>
               <endpoint key="SWPerfModule_Sync"/>
          </send>
          <class name="com.jeppesen.jsi.synapse.ResponseWaiter">
               <property name="QueueKey" value="SWPerfModule_Sync"/>
               <property name="RetryDelay" value="5"/>
               <property name="MaxTries" value="3"/>
               <property name="RetrySeqName" value="SWPerfModule_Sync_RetrySequence"/>
               <property name="FailureSeqName" value="Failure_SWPerfModule_Sync_DeliverySequence"/>
          </class>
          <filter source="get-property('com.jeppesen.jsi.synapse.ResponseWaiter.MessageMarkedFailed')" regex="false">
               <then>
                    <class name="com.jeppesen.jsi.synapse.Fetch">
                         <property name="QueueKey" value="SWPerfModule_Sync"/>
                         <property name="MessageStatus" value="4"/>
                         <property name="PostMessage" value="false"/>
                    </class>
               </then>
          </filter>
          <drop/>
     </sequence>
     <sequence name="Fault_SWPerfModule_Sync_DeliverySequence">
          <log level="custom">
               <property name="text" value="Sequence {Fault_SWPerfModule_Sync_DeliverySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {Fault_SWPerfModule_Sync_DeliverySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Fault_SWPerfModule_Sync_DeliverySequence_Retrying} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="SWPerfModule_Sync"/>
               <property name="TextLine" value="Invoking {Fault_SWPerfModule_Sync_DeliverySequence_Retrying} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.ResponsePosted">
               <property name="FailureOccurred" value="true"/>
          </class>
     </sequence>
     <sequence name="Failure_SWPerfModule_Sync_DeliverySequence" onError="JSI_Main_fault">
          <log level="custom">
               <property name="text" value="Sequence {Failure_SWPerfModule_Sync_DeliverySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {Failure_SWPerfModule_Sync_DeliverySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Failure_SWPerfModule_Sync_DeliverySequence_FailedMarked} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {Failure_SWPerfModule_Sync_DeliverySequence_FailedMarked} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Fetch">
               <property name="QueueKey" value="SWPerfModule_Sync"/>
               <property name="MessageStatus" value="2"/>
               <property name="PostMessage" value="false"/>
          </class>
          <makefault response="true">
               <code xmlns:tns="http://www.w3.org/2003/05/soap-envelope" value="tns:Receiver"/>
               <reason expression="get-property('ERROR_MESSAGE')"/>
          </makefault>
          <property name="RESPONSE" action="set" value="true"/>
          <header name="To" action="remove"/>
          <send/>
          <class name="com.jeppesen.jsi.synapse.ResponsePosted"/>
     </sequence>
     <sequence name="SWPerfModule_ASync_DeliverySequence" onError="Fault_SWPerfModule_ASync_DeliverySequence">
          <log level="custom">
               <property name="text" value="Sequence {SWPerfModule_ASync_DeliverySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {SWPerfModule_ASync_DeliverySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {SWPerfModule_ASync_DeliverySequence_Fetch} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="SWPerfModule_ASync"/>
               <property name="TextLine" value="Invoking {SWPerfModule_ASync_DeliverySequence_Fetch} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Fetch">
               <property name="QueueKey" value="SWPerfModule_ASync"/>
               <property name="MessageStatus" value="3"/>
               <property name="PostMessage" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {SWPerfModule_ASync_DeliverySequence_XVersion} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="SWPerfModule_ASync"/>
               <property name="TextLine" value="Invoking {SWPerfModule_ASync_DeliverySequence_XVersion} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Transform">
               <property name="ProductName" value="SWPerfModule"/>
               <property name="WrapInEnvelop" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {SWPerfModule_ASync_DeliverySequence_Send} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="SWPerfModule_ASync"/>
               <property name="TextLine" value="Invoking {SWPerfModule_ASync_DeliverySequence_Send} mediator"/>
          </class>
          <send>
               <endpoint key="SWPerfModule_ASync"/>
          </send>
     </sequence>
     <sequence name="SWPerfModule_ASync_RetrySequence" onError="Fault_SWPerfModule_ASync_DeliverySequence">
          <property name="ERROR_MESSAGE" action="remove" value="null"/>
          <log level="custom">
               <property name="text" value="Sequence {SWPerfModule_ASync_RetrySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {SWPerfModule_ASync_RetrySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {SWPerfModule_ASync_RetrySequence_Fetch} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="SWPerfModule_ASync"/>
               <property name="TextLine" value="Invoking {SWPerfModule_ASync_RetrySequence_Fetch} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Fetch">
               <property name="QueueKey" value="SWPerfModule_ASync"/>
               <property name="MessageStatus" value="3"/>
               <property name="PostMessage" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {SWPerfModule_ASync_RetrySequence_XVersion} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="SWPerfModule_ASync"/>
               <property name="TextLine" value="Invoking {SWPerfModule_ASync_RetrySequence_XVersion} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Transform">
               <property name="ProductName" value="SWPerfModule"/>
               <property name="WrapInEnvelop" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {SWPerfModule_ASync_RetrySequence_Send} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="SWPerfModule_ASync"/>
               <property name="TextLine" value="Invoking {SWPerfModule_ASync_RetrySequence_Send} mediator"/>
          </class>
          <send>
               <endpoint key="SWPerfModule_ASync"/>
          </send>
     </sequence>
     <sequence name="Fault_SWPerfModule_ASync_DeliverySequence">
          <log level="custom">
               <property name="text" value="Sequence {Fault_SWPerfModule_ASync_DeliverySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {Fault_SWPerfModule_ASync_DeliverySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Fault_SWPerfModule_ASync_DeliverySequence_Retrying} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="SWPerfModule_ASync"/>
               <property name="TextLine" value="Invoking {Fault_SWPerfModule_ASync_DeliverySequence_Retrying} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.ResponsePosted">
               <property name="FailureOccurred" value="true"/>
          </class>
     </sequence>
     <sequence name="Failure_SWPerfModule_ASync_DeliverySequence" onError="JSI_Main_fault">
          <log level="custom">
               <property name="text" value="Sequence {Failure_SWPerfModule_ASync_DeliverySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {Failure_SWPerfModule_ASync_DeliverySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Generated_535947679} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {Generated_535947679} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Fetch">
               <property name="QueueKey" value="SWPerfModule_ASync"/>
               <property name="MessageStatus" value="2"/>
               <property name="PostMessage" value="false"/>
          </class>
     </sequence>
     <sequence name="JDC_Sync_DeliverySequence" onError="Fault_JDC_Sync_DeliverySequence">
          <log level="custom">
               <property name="text" value="Sequence {JDC_Sync_DeliverySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {JDC_Sync_DeliverySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {JDC_Sync_DeliverySequence_Fetch} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="JDC_Sync"/>
               <property name="TextLine" value="Invoking {JDC_Sync_DeliverySequence_Fetch} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Fetch">
               <property name="QueueKey" value="JDC_Sync"/>
               <property name="MessageStatus" value="3"/>
               <property name="PostMessage" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {JDC_Sync_DeliverySequence_XVersion} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="JDC_Sync"/>
               <property name="TextLine" value="Invoking {JDC_Sync_DeliverySequence_XVersion} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Transform">
               <property name="ProductName" value="JDC"/>
               <property name="WrapInEnvelop" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {JDC_Sync_DeliverySequence_Send} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="JDC_Sync"/>
               <property name="TextLine" value="Invoking {JDC_Sync_DeliverySequence_Send} mediator"/>
          </class>
          <send>
               <endpoint key="JDC_Sync"/>
          </send>
          <class name="com.jeppesen.jsi.synapse.ResponseWaiter">
               <property name="QueueKey" value="JDC_Sync"/>
               <property name="RetryDelay" value="5"/>
               <property name="MaxTries" value="3"/>
               <property name="RetrySeqName" value="JDC_Sync_RetrySequence"/>
               <property name="FailureSeqName" value="Failure_JDC_Sync_DeliverySequence"/>
          </class>
          <filter source="get-property('com.jeppesen.jsi.synapse.ResponseWaiter.MessageMarkedFailed')" regex="false">
               <then>
                    <class name="com.jeppesen.jsi.synapse.Fetch">
                         <property name="QueueKey" value="JDC_Sync"/>
                         <property name="MessageStatus" value="4"/>
                         <property name="PostMessage" value="false"/>
                    </class>
               </then>
          </filter>
          <drop/>
     </sequence>
     <sequence name="JDC_Sync_RetrySequence" onError="Fault_JDC_Sync_DeliverySequence">
          <property name="ERROR_MESSAGE" action="remove" value="null"/>
          <log level="custom">
               <property name="text" value="Sequence {JDC_Sync_RetrySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {JDC_Sync_RetrySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {JDC_Sync_RetrySequence_Fetch} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="JDC_Sync"/>
               <property name="TextLine" value="Invoking {JDC_Sync_RetrySequence_Fetch} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Fetch">
               <property name="QueueKey" value="JDC_Sync"/>
               <property name="MessageStatus" value="3"/>
               <property name="PostMessage" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {JDC_Sync_RetrySequence_XVersion} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="JDC_Sync"/>
               <property name="TextLine" value="Invoking {JDC_Sync_RetrySequence_XVersion} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Transform">
               <property name="ProductName" value="JDC"/>
               <property name="WrapInEnvelop" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {JDC_Sync_RetrySequence_Send} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="JDC_Sync"/>
               <property name="TextLine" value="Invoking {JDC_Sync_RetrySequence_Send} mediator"/>
          </class>
          <send>
               <endpoint key="JDC_Sync"/>
          </send>
          <class name="com.jeppesen.jsi.synapse.ResponseWaiter">
               <property name="QueueKey" value="JDC_Sync"/>
               <property name="RetryDelay" value="5"/>
               <property name="MaxTries" value="3"/>
               <property name="RetrySeqName" value="JDC_Sync_RetrySequence"/>
               <property name="FailureSeqName" value="Failure_JDC_Sync_DeliverySequence"/>
          </class>
          <filter source="get-property('com.jeppesen.jsi.synapse.ResponseWaiter.MessageMarkedFailed')" regex="false">
               <then>
                    <class name="com.jeppesen.jsi.synapse.Fetch">
                         <property name="QueueKey" value="JDC_Sync"/>
                         <property name="MessageStatus" value="4"/>
                         <property name="PostMessage" value="false"/>
                    </class>
               </then>
          </filter>
          <drop/>
     </sequence>
     <sequence name="Fault_JDC_Sync_DeliverySequence">
          <log level="custom">
               <property name="text" value="Sequence {Fault_JDC_Sync_DeliverySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {Fault_JDC_Sync_DeliverySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Fault_JDC_Sync_DeliverySequence_Retrying} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="JDC_Sync"/>
               <property name="TextLine" value="Invoking {Fault_JDC_Sync_DeliverySequence_Retrying} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.ResponsePosted">
               <property name="FailureOccurred" value="true"/>
          </class>
     </sequence>
     <sequence name="Failure_JDC_Sync_DeliverySequence" onError="JSI_Main_fault">
          <log level="custom">
               <property name="text" value="Sequence {Failure_JDC_Sync_DeliverySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {Failure_JDC_Sync_DeliverySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Failure_JDC_Sync_DeliverySequence_FailedMarked} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {Failure_JDC_Sync_DeliverySequence_FailedMarked} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Fetch">
               <property name="QueueKey" value="JDC_Sync"/>
               <property name="MessageStatus" value="2"/>
               <property name="PostMessage" value="false"/>
          </class>
          <makefault response="true">
               <code xmlns:tns="http://www.w3.org/2003/05/soap-envelope" value="tns:Receiver"/>
               <reason expression="get-property('ERROR_MESSAGE')"/>
          </makefault>
          <property name="RESPONSE" action="set" value="true"/>
          <header name="To" action="remove"/>
          <send/>
          <class name="com.jeppesen.jsi.synapse.ResponsePosted"/>
     </sequence>
     <sequence name="JDC_ASync_DeliverySequence" onError="Fault_JDC_ASync_DeliverySequence">
          <log level="custom">
               <property name="text" value="Sequence {JDC_ASync_DeliverySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {JDC_ASync_DeliverySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {JDC_ASync_DeliverySequence_Fetch} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="JDC_ASync"/>
               <property name="TextLine" value="Invoking {JDC_ASync_DeliverySequence_Fetch} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Fetch">
               <property name="QueueKey" value="JDC_ASync"/>
               <property name="MessageStatus" value="3"/>
               <property name="PostMessage" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {JDC_ASync_DeliverySequence_XVersion} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="JDC_ASync"/>
               <property name="TextLine" value="Invoking {JDC_ASync_DeliverySequence_XVersion} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Transform">
               <property name="ProductName" value="JDC"/>
               <property name="WrapInEnvelop" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {JDC_ASync_DeliverySequence_Send} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="JDC_ASync"/>
               <property name="TextLine" value="Invoking {JDC_ASync_DeliverySequence_Send} mediator"/>
          </class>
          <send>
               <endpoint key="JDC_ASync"/>
          </send>
     </sequence>
     <sequence name="JDC_ASync_RetrySequence" onError="Fault_JDC_ASync_DeliverySequence">
          <property name="ERROR_MESSAGE" action="remove" value="null"/>
          <log level="custom">
               <property name="text" value="Sequence {JDC_ASync_RetrySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {JDC_ASync_RetrySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {JDC_ASync_RetrySequence_Fetch} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="JDC_ASync"/>
               <property name="TextLine" value="Invoking {JDC_ASync_RetrySequence_Fetch} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Fetch">
               <property name="QueueKey" value="JDC_ASync"/>
               <property name="MessageStatus" value="3"/>
               <property name="PostMessage" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {JDC_ASync_RetrySequence_XVersion} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="JDC_ASync"/>
               <property name="TextLine" value="Invoking {JDC_ASync_RetrySequence_XVersion} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Transform">
               <property name="ProductName" value="JDC"/>
               <property name="WrapInEnvelop" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {JDC_ASync_RetrySequence_Send} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="JDC_ASync"/>
               <property name="TextLine" value="Invoking {JDC_ASync_RetrySequence_Send} mediator"/>
          </class>
          <send>
               <endpoint key="JDC_ASync"/>
          </send>
     </sequence>
     <sequence name="Fault_JDC_ASync_DeliverySequence">
          <log level="custom">
               <property name="text" value="Sequence {Fault_JDC_ASync_DeliverySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {Fault_JDC_ASync_DeliverySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Fault_JDC_ASync_DeliverySequence_Retrying} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="JDC_ASync"/>
               <property name="TextLine" value="Invoking {Fault_JDC_ASync_DeliverySequence_Retrying} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.ResponsePosted">
               <property name="FailureOccurred" value="true"/>
          </class>
     </sequence>
     <sequence name="Failure_JDC_ASync_DeliverySequence" onError="JSI_Main_fault">
          <log level="custom">
               <property name="text" value="Sequence {Failure_JDC_ASync_DeliverySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {Failure_JDC_ASync_DeliverySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Failure_JDC_ASync_DeliverySequence_FailedMarked} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {Failure_JDC_ASync_DeliverySequence_FailedMarked} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Fetch">
               <property name="QueueKey" value="JDC_ASync"/>
               <property name="MessageStatus" value="2"/>
               <property name="PostMessage" value="false"/>
          </class>
     </sequence>
     <sequence name="Twitter_Sync_DeliverySequence" onError="Fault_Twitter_Sync_DeliverySequence">
          <log level="custom">
               <property name="text" value="Sequence {Twitter_Sync_DeliverySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {Twitter_Sync_DeliverySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Twitter_Sync_DeliverySequence_Fetch} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="Twitter_Sync"/>
               <property name="TextLine" value="Invoking {Twitter_Sync_DeliverySequence_Fetch} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Fetch">
               <property name="QueueKey" value="Twitter_Sync"/>
               <property name="MessageStatus" value="3"/>
               <property name="PostMessage" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Twitter_Sync_DeliverySequence_XVersion} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="Twitter_Sync"/>
               <property name="TextLine" value="Invoking {Twitter_Sync_DeliverySequence_XVersion} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Transform">
               <property name="ProductName" value="Twitter"/>
               <property name="WrapInEnvelop" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Twitter_JSI2ProductAdapter} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {Twitter_JSI2ProductAdapter} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.AdapterProcessor">
               <property name="Name" value="TwitterAdapter"/>
               <property name="ClassName" value="com.ask.test.main.FlightLandedNotifier"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Twitter_Sync_DeliverySequence_Send} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="Twitter_Sync"/>
               <property name="TextLine" value="Invoking {Twitter_Sync_DeliverySequence_Send} mediator"/>
          </class>
          <send>
               <endpoint key="Twitter_Sync"/>
          </send>
          <class name="com.jeppesen.jsi.synapse.ResponseWaiter">
               <property name="QueueKey" value="Twitter_Sync"/>
               <property name="RetryDelay" value="5"/>
               <property name="MaxTries" value="3"/>
               <property name="RetrySeqName" value="Twitter_Sync_RetrySequence"/>
               <property name="FailureSeqName" value="Failure_Twitter_Sync_DeliverySequence"/>
          </class>
          <filter source="get-property('com.jeppesen.jsi.synapse.ResponseWaiter.MessageMarkedFailed')" regex="false">
               <then>
                    <class name="com.jeppesen.jsi.synapse.Fetch">
                         <property name="QueueKey" value="Twitter_Sync"/>
                         <property name="MessageStatus" value="4"/>
                         <property name="PostMessage" value="false"/>
                    </class>
               </then>
          </filter>
          <drop/>
     </sequence>
     <sequence name="Twitter_Sync_RetrySequence" onError="Fault_Twitter_Sync_DeliverySequence">
          <property name="ERROR_MESSAGE" action="remove" value="null"/>
          <log level="custom">
               <property name="text" value="Sequence {Twitter_Sync_RetrySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {Twitter_Sync_RetrySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Twitter_Sync_RetrySequence_Fetch} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="Twitter_Sync"/>
               <property name="TextLine" value="Invoking {Twitter_Sync_RetrySequence_Fetch} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Fetch">
               <property name="QueueKey" value="Twitter_Sync"/>
               <property name="MessageStatus" value="3"/>
               <property name="PostMessage" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Twitter_Sync_RetrySequence_XVersion} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="Twitter_Sync"/>
               <property name="TextLine" value="Invoking {Twitter_Sync_RetrySequence_XVersion} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Transform">
               <property name="ProductName" value="Twitter"/>
               <property name="WrapInEnvelop" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Twitter_JSI2ProductAdapter} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {Twitter_JSI2ProductAdapter} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.AdapterProcessor">
               <property name="Name" value="TwitterAdapter"/>
               <property name="ClassName" value="com.ask.test.main.FlightLandedNotifier"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Twitter_Sync_RetrySequence_Send} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="Twitter_Sync"/>
               <property name="TextLine" value="Invoking {Twitter_Sync_RetrySequence_Send} mediator"/>
          </class>
          <send>
               <endpoint key="Twitter_Sync"/>
          </send>
          <class name="com.jeppesen.jsi.synapse.ResponseWaiter">
               <property name="QueueKey" value="Twitter_Sync"/>
               <property name="RetryDelay" value="5"/>
               <property name="MaxTries" value="3"/>
               <property name="RetrySeqName" value="Twitter_Sync_RetrySequence"/>
               <property name="FailureSeqName" value="Failure_Twitter_Sync_DeliverySequence"/>
          </class>
          <filter source="get-property('com.jeppesen.jsi.synapse.ResponseWaiter.MessageMarkedFailed')" regex="false">
               <then>
                    <class name="com.jeppesen.jsi.synapse.Fetch">
                         <property name="QueueKey" value="Twitter_Sync"/>
                         <property name="MessageStatus" value="4"/>
                         <property name="PostMessage" value="false"/>
                    </class>
               </then>
          </filter>
          <drop/>
     </sequence>
     <sequence name="Fault_Twitter_Sync_DeliverySequence">
          <log level="custom">
               <property name="text" value="Sequence {Fault_Twitter_Sync_DeliverySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {Fault_Twitter_Sync_DeliverySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Fault_Twitter_Sync_DeliverySequence_Retrying} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="Twitter_Sync"/>
               <property name="TextLine" value="Invoking {Fault_Twitter_Sync_DeliverySequence_Retrying} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.ResponsePosted">
               <property name="FailureOccurred" value="true"/>
          </class>
     </sequence>
     <sequence name="Failure_Twitter_Sync_DeliverySequence" onError="JSI_Main_fault">
          <log level="custom">
               <property name="text" value="Sequence {Failure_Twitter_Sync_DeliverySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {Failure_Twitter_Sync_DeliverySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Failure_Twitter_Sync_DeliverySequence_FailedMarked} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {Failure_Twitter_Sync_DeliverySequence_FailedMarked} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Fetch">
               <property name="QueueKey" value="Twitter_Sync"/>
               <property name="MessageStatus" value="2"/>
               <property name="PostMessage" value="false"/>
          </class>
          <makefault response="true">
               <code xmlns:tns="http://www.w3.org/2003/05/soap-envelope" value="tns:Receiver"/>
               <reason expression="get-property('ERROR_MESSAGE')"/>
          </makefault>
          <property name="RESPONSE" action="set" value="true"/>
          <header name="To" action="remove"/>
          <send/>
          <class name="com.jeppesen.jsi.synapse.ResponsePosted"/>
     </sequence>
     <sequence name="Twitter_ASync_DeliverySequence" onError="Fault_Twitter_ASync_DeliverySequence">
          <log level="custom">
               <property name="text" value="Sequence {Twitter_ASync_DeliverySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {Twitter_ASync_DeliverySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Twitter_ASync_DeliverySequence_Fetch} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="Twitter_ASync"/>
               <property name="TextLine" value="Invoking {Twitter_ASync_DeliverySequence_Fetch} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Fetch">
               <property name="QueueKey" value="Twitter_ASync"/>
               <property name="MessageStatus" value="3"/>
               <property name="PostMessage" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Twitter_ASync_DeliverySequence_XVersion} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="Twitter_ASync"/>
               <property name="TextLine" value="Invoking {Twitter_ASync_DeliverySequence_XVersion} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Transform">
               <property name="ProductName" value="Twitter"/>
               <property name="WrapInEnvelop" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Twitter_JSI2ProductAdapter} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {Twitter_JSI2ProductAdapter} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.AdapterProcessor">
               <property name="Name" value="TwitterAdapter"/>
               <property name="ClassName" value="com.ask.test.main.FlightLandedNotifier"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Twitter_ASync_DeliverySequence_Send} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="Twitter_ASync"/>
               <property name="TextLine" value="Invoking {Twitter_ASync_DeliverySequence_Send} mediator"/>
          </class>
          <send>
               <endpoint key="Twitter_ASync"/>
          </send>
     </sequence>
     <sequence name="Twitter_ASync_RetrySequence" onError="Fault_Twitter_ASync_DeliverySequence">
          <property name="ERROR_MESSAGE" action="remove" value="null"/>
          <log level="custom">
               <property name="text" value="Sequence {Twitter_ASync_RetrySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {Twitter_ASync_RetrySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Twitter_ASync_RetrySequence_Fetch} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="Twitter_ASync"/>
               <property name="TextLine" value="Invoking {Twitter_ASync_RetrySequence_Fetch} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Fetch">
               <property name="QueueKey" value="Twitter_ASync"/>
               <property name="MessageStatus" value="3"/>
               <property name="PostMessage" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Twitter_ASync_RetrySequence_XVersion} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="Twitter_ASync"/>
               <property name="TextLine" value="Invoking {Twitter_ASync_RetrySequence_XVersion} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Transform">
               <property name="ProductName" value="Twitter"/>
               <property name="WrapInEnvelop" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Twitter_JSI2ProductAdapter} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {Twitter_JSI2ProductAdapter} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.AdapterProcessor">
               <property name="Name" value="TwitterAdapter"/>
               <property name="ClassName" value="com.ask.test.main.FlightLandedNotifier"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Twitter_ASync_RetrySequence_Send} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="Twitter_ASync"/>
               <property name="TextLine" value="Invoking {Twitter_ASync_RetrySequence_Send} mediator"/>
          </class>
          <send>
               <endpoint key="Twitter_ASync"/>
          </send>
     </sequence>
     <sequence name="Fault_Twitter_ASync_DeliverySequence">
          <log level="custom">
               <property name="text" value="Sequence {Fault_Twitter_ASync_DeliverySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {Fault_Twitter_ASync_DeliverySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Fault_Twitter_ASync_DeliverySequence_Retrying} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="Twitter_ASync"/>
               <property name="TextLine" value="Invoking {Fault_Twitter_ASync_DeliverySequence_Retrying} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.ResponsePosted">
               <property name="FailureOccurred" value="true"/>
          </class>
     </sequence>
     <sequence name="Failure_Twitter_ASync_DeliverySequence" onError="JSI_Main_fault">
          <log level="custom">
               <property name="text" value="Sequence {Failure_Twitter_ASync_DeliverySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {Failure_Twitter_ASync_DeliverySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Failure_Twitter_ASync_DeliverySequence_FailedMarked} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {Failure_Twitter_ASync_DeliverySequence_FailedMarked} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Fetch">
               <property name="QueueKey" value="Twitter_ASync"/>
               <property name="MessageStatus" value="2"/>
               <property name="PostMessage" value="false"/>
          </class>
     </sequence>
     <sequence name="AeroData_Sync_DeliverySequence" onError="Fault_AeroData_Sync_DeliverySequence">
          <log level="custom">
               <property name="text" value="Sequence {AeroData_Sync_DeliverySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {AeroData_Sync_DeliverySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {AeroData_Sync_DeliverySequence_Fetch} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="AeroData_Sync"/>
               <property name="TextLine" value="Invoking {AeroData_Sync_DeliverySequence_Fetch} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Fetch">
               <property name="QueueKey" value="AeroData_Sync"/>
               <property name="MessageStatus" value="3"/>
               <property name="PostMessage" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {AeroData_Sync_DeliverySequence_XVersion} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="AeroData_Sync"/>
               <property name="TextLine" value="Invoking {AeroData_Sync_DeliverySequence_XVersion} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Transform">
               <property name="ProductName" value="AeroData"/>
               <property name="WrapInEnvelop" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {AeroData_Sync_DeliverySequence_Send} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="AeroData_Sync"/>
               <property name="TextLine" value="Invoking {AeroData_Sync_DeliverySequence_Send} mediator"/>
          </class>
          <send>
               <endpoint key="AeroData_Sync"/>
          </send>
          <class name="com.jeppesen.jsi.synapse.ResponseWaiter">
               <property name="QueueKey" value="AeroData_Sync"/>
               <property name="RetryDelay" value="5"/>
               <property name="MaxTries" value="3"/>
               <property name="RetrySeqName" value="AeroData_Sync_RetrySequence"/>
               <property name="FailureSeqName" value="Failure_AeroData_Sync_DeliverySequence"/>
          </class>
          <filter source="get-property('com.jeppesen.jsi.synapse.ResponseWaiter.MessageMarkedFailed')" regex="false">
               <then>
                    <class name="com.jeppesen.jsi.synapse.Fetch">
                         <property name="QueueKey" value="AeroData_Sync"/>
                         <property name="MessageStatus" value="4"/>
                         <property name="PostMessage" value="false"/>
                    </class>
               </then>
          </filter>
          <drop/>
     </sequence>
     <sequence name="AeroData_Sync_RetrySequence" onError="Fault_AeroData_Sync_DeliverySequence">
          <property name="ERROR_MESSAGE" action="remove" value="null"/>
          <log level="custom">
               <property name="text" value="Sequence {AeroData_Sync_RetrySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {AeroData_Sync_RetrySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {AeroData_Sync_RetrySequence_Fetch} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="AeroData_Sync"/>
               <property name="TextLine" value="Invoking {AeroData_Sync_RetrySequence_Fetch} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Fetch">
               <property name="QueueKey" value="AeroData_Sync"/>
               <property name="MessageStatus" value="3"/>
               <property name="PostMessage" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {AeroData_Sync_RetrySequence_XVersion} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="AeroData_Sync"/>
               <property name="TextLine" value="Invoking {AeroData_Sync_RetrySequence_XVersion} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Transform">
               <property name="ProductName" value="AeroData"/>
               <property name="WrapInEnvelop" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {AeroData_Sync_RetrySequence_Send} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="AeroData_Sync"/>
               <property name="TextLine" value="Invoking {AeroData_Sync_RetrySequence_Send} mediator"/>
          </class>
          <send>
               <endpoint key="AeroData_Sync"/>
          </send>
          <class name="com.jeppesen.jsi.synapse.ResponseWaiter">
               <property name="QueueKey" value="AeroData_Sync"/>
               <property name="RetryDelay" value="5"/>
               <property name="MaxTries" value="3"/>
               <property name="RetrySeqName" value="AeroData_Sync_RetrySequence"/>
               <property name="FailureSeqName" value="Failure_AeroData_Sync_DeliverySequence"/>
          </class>
          <filter source="get-property('com.jeppesen.jsi.synapse.ResponseWaiter.MessageMarkedFailed')" regex="false">
               <then>
                    <class name="com.jeppesen.jsi.synapse.Fetch">
                         <property name="QueueKey" value="AeroData_Sync"/>
                         <property name="MessageStatus" value="4"/>
                         <property name="PostMessage" value="false"/>
                    </class>
               </then>
          </filter>
          <drop/>
     </sequence>
     <sequence name="Fault_AeroData_Sync_DeliverySequence">
          <log level="custom">
               <property name="text" value="Sequence {Fault_AeroData_Sync_DeliverySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {Fault_AeroData_Sync_DeliverySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Fault_AeroData_Sync_DeliverySequence_Retrying} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="AeroData_Sync"/>
               <property name="TextLine" value="Invoking {Fault_AeroData_Sync_DeliverySequence_Retrying} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.ResponsePosted">
               <property name="FailureOccurred" value="true"/>
          </class>
     </sequence>
     <sequence name="Failure_AeroData_Sync_DeliverySequence" onError="JSI_Main_fault">
          <log level="custom">
               <property name="text" value="Sequence {Failure_AeroData_Sync_DeliverySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {Failure_AeroData_Sync_DeliverySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Failure_AeroData_Sync_DeliverySequence_FailedMarked} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {Failure_AeroData_Sync_DeliverySequence_FailedMarked} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Fetch">
               <property name="QueueKey" value="AeroData_Sync"/>
               <property name="MessageStatus" value="2"/>
               <property name="PostMessage" value="false"/>
          </class>
          <makefault response="true">
               <code xmlns:tns="http://www.w3.org/2003/05/soap-envelope" value="tns:Receiver"/>
               <reason expression="get-property('ERROR_MESSAGE')"/>
          </makefault>
          <property name="RESPONSE" action="set" value="true"/>
          <header name="To" action="remove"/>
          <send/>
          <class name="com.jeppesen.jsi.synapse.ResponsePosted"/>
     </sequence>
     <sequence name="AeroData_ASync_DeliverySequence" onError="Fault_AeroData_ASync_DeliverySequence">
          <log level="custom">
               <property name="text" value="Sequence {AeroData_ASync_DeliverySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {AeroData_ASync_DeliverySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {AeroData_ASync_DeliverySequence_Fetch} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="AeroData_ASync"/>
               <property name="TextLine" value="Invoking {AeroData_ASync_DeliverySequence_Fetch} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Fetch">
               <property name="QueueKey" value="AeroData_ASync"/>
               <property name="MessageStatus" value="3"/>
               <property name="PostMessage" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {AeroData_ASync_DeliverySequence_XVersion} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="AeroData_ASync"/>
               <property name="TextLine" value="Invoking {AeroData_ASync_DeliverySequence_XVersion} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Transform">
               <property name="ProductName" value="AeroData"/>
               <property name="WrapInEnvelop" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {AeroData_ASync_DeliverySequence_Send} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="AeroData_ASync"/>
               <property name="TextLine" value="Invoking {AeroData_ASync_DeliverySequence_Send} mediator"/>
          </class>
          <send>
               <endpoint key="AeroData_ASync"/>
          </send>
     </sequence>
     <sequence name="AeroData_ASync_RetrySequence" onError="Fault_AeroData_ASync_DeliverySequence">
          <property name="ERROR_MESSAGE" action="remove" value="null"/>
          <log level="custom">
               <property name="text" value="Sequence {AeroData_ASync_RetrySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {AeroData_ASync_RetrySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {AeroData_ASync_RetrySequence_Fetch} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="AeroData_ASync"/>
               <property name="TextLine" value="Invoking {AeroData_ASync_RetrySequence_Fetch} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Fetch">
               <property name="QueueKey" value="AeroData_ASync"/>
               <property name="MessageStatus" value="3"/>
               <property name="PostMessage" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {AeroData_ASync_RetrySequence_XVersion} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="AeroData_ASync"/>
               <property name="TextLine" value="Invoking {AeroData_ASync_RetrySequence_XVersion} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Transform">
               <property name="ProductName" value="AeroData"/>
               <property name="WrapInEnvelop" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {AeroData_ASync_RetrySequence_Send} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="AeroData_ASync"/>
               <property name="TextLine" value="Invoking {AeroData_ASync_RetrySequence_Send} mediator"/>
          </class>
          <send>
               <endpoint key="AeroData_ASync"/>
          </send>
     </sequence>
     <sequence name="Fault_AeroData_ASync_DeliverySequence">
          <log level="custom">
               <property name="text" value="Sequence {Fault_AeroData_ASync_DeliverySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {Fault_AeroData_ASync_DeliverySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Fault_AeroData_ASync_DeliverySequence_Retrying} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="AeroData_ASync"/>
               <property name="TextLine" value="Invoking {Fault_AeroData_ASync_DeliverySequence_Retrying} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.ResponsePosted">
               <property name="FailureOccurred" value="true"/>
          </class>
     </sequence>
     <sequence name="Failure_AeroData_ASync_DeliverySequence" onError="JSI_Main_fault">
          <log level="custom">
               <property name="text" value="Sequence {Failure_AeroData_ASync_DeliverySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {Failure_AeroData_ASync_DeliverySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Failure_AeroData_ASync_DeliverySequence_FailedMarked} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {Failure_AeroData_ASync_DeliverySequence_FailedMarked} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Fetch">
               <property name="QueueKey" value="AeroData_ASync"/>
               <property name="MessageStatus" value="2"/>
               <property name="PostMessage" value="false"/>
          </class>
     </sequence>
     <sequence name="JetPlan-JSI-EntrySequence">
          <log level="custom">
               <property name="text" value="Sequence {JetPlan-JSI-EntrySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {JetPlan-JSI-EntrySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {JetPlan-JSI-EntrySequence_Broadcaster} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {JetPlan-JSI-EntrySequence_Broadcaster} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Broadcaster">
               <property name="ValidateEnabled" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {JetPlan-JSI-EntrySequence_SyncASyncMediator} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {JetPlan-JSI-EntrySequence_SyncASyncMediator} mediator"/>
          </class>
          <filter source="get-property('com.jeppesen.jsi.message.Type')" regex="1">
               <then>
                    <class name="com.jeppesen.jsi.synapse.ContentBasedRouter"/>
                    <drop/>
               </then>
               <else>
                    <class name="com.jeppesen.jsi.synapse.MonitorLogger">
                         <property name="TextLine" value="SyncAsync-Filter -- The message is asynchronous it will be delivered asynchronously.in other words; if the message is synchronous it will NEVER be delivered."/>
                         <property name="QueueKey" value="JetPlan"/>
                         <property name="Recipient" value="JetPlan"/>
                    </class>
                    <property name="RESPONSE" value="true"/>
                    <header name="To" action="remove"/>
                    <class name="com.jeppesen.jsi.synapse.Responder">
                         <property name="ResponseCode" value="200"/>
                    </class>
                    <out>
                         <send/>
                    </out>
               </else>
          </filter>
     </sequence>
     <sequence name="RAIM-JSI-EntrySequence">
          <log level="custom">
               <property name="text" value="Sequence {RAIM-JSI-EntrySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {RAIM-JSI-EntrySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {RAIM-JSI-EntrySequence_Broadcaster} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {RAIM-JSI-EntrySequence_Broadcaster} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Broadcaster">
               <property name="ValidateEnabled" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {RAIM-JSI-EntrySequence_SyncASyncMediator} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {RAIM-JSI-EntrySequence_SyncASyncMediator} mediator"/>
          </class>
          <filter source="get-property('com.jeppesen.jsi.message.Type')" regex="1">
               <then>
                    <class name="com.jeppesen.jsi.synapse.ContentBasedRouter"/>
                    <drop/>
               </then>
               <else>
                    <class name="com.jeppesen.jsi.synapse.MonitorLogger">
                         <property name="TextLine" value="SyncAsync-Filter -- The message is asynchronous it will be delivered asynchronously.in other words; if the message is synchronous it will NEVER be delivered."/>
                         <property name="QueueKey" value="RAIM"/>
                         <property name="Recipient" value="RAIM"/>
                    </class>
                    <property name="RESPONSE" value="true"/>
                    <header name="To" action="remove"/>
                    <class name="com.jeppesen.jsi.synapse.Responder">
                         <property name="ResponseCode" value="200"/>
                    </class>
                    <out>
                         <send/>
                    </out>
               </else>
          </filter>
     </sequence>
     <sequence name="SWPerfModule-JSI-EntrySequence">
          <log level="custom">
               <property name="text" value="Sequence {SWPerfModule-JSI-EntrySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {SWPerfModule-JSI-EntrySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {SWPerfModule-JSI-EntrySequence_Broadcaster} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {SWPerfModule-JSI-EntrySequence_Broadcaster} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Broadcaster">
               <property name="ValidateEnabled" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {SWPerfModule-JSI-EntrySequence_SyncASyncMediator} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {SWPerfModule-JSI-EntrySequence_SyncASyncMediator} mediator"/>
          </class>
          <filter source="get-property('com.jeppesen.jsi.message.Type')" regex="1">
               <then>
                    <class name="com.jeppesen.jsi.synapse.ContentBasedRouter"/>
                    <drop/>
               </then>
               <else>
                    <class name="com.jeppesen.jsi.synapse.MonitorLogger">
                         <property name="TextLine" value="SyncAsync-Filter -- The message is asynchronous it will be delivered asynchronously.in other words; if the message is synchronous it will NEVER be delivered."/>
                         <property name="QueueKey" value="SWPerfModule"/>
                         <property name="Recipient" value="SWPerfModule"/>
                    </class>
                    <property name="RESPONSE" value="true"/>
                    <header name="To" action="remove"/>
                    <class name="com.jeppesen.jsi.synapse.Responder">
                         <property name="ResponseCode" value="200"/>
                    </class>
                    <out>
                         <send/>
                    </out>
               </else>
          </filter>
     </sequence>
     <sequence name="JDC-JSI-EntrySequence">
          <log level="custom">
               <property name="text" value="Sequence {JDC-JSI-EntrySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {JDC-JSI-EntrySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {JDC-JSI-EntrySequence_Broadcaster} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {JDC-JSI-EntrySequence_Broadcaster} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Broadcaster">
               <property name="ValidateEnabled" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {JDC-JSI-EntrySequence_SyncASyncMediator} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {JDC-JSI-EntrySequence_SyncASyncMediator} mediator"/>
          </class>
          <filter source="get-property('com.jeppesen.jsi.message.Type')" regex="1">
               <then>
                    <class name="com.jeppesen.jsi.synapse.ContentBasedRouter"/>
                    <drop/>
               </then>
               <else>
                    <class name="com.jeppesen.jsi.synapse.MonitorLogger">
                         <property name="TextLine" value="SyncAsync-Filter -- The message is asynchronous it will be delivered asynchronously.in other words; if the message is synchronous it will NEVER be delivered."/>
                         <property name="QueueKey" value="JDC"/>
                         <property name="Recipient" value="JDC"/>
                    </class>
                    <property name="RESPONSE" value="true"/>
                    <header name="To" action="remove"/>
                    <class name="com.jeppesen.jsi.synapse.Responder">
                         <property name="ResponseCode" value="200"/>
                    </class>
                    <out>
                         <send/>
                    </out>
               </else>
          </filter>
     </sequence>
     <sequence name="Twitter-JSI-EntrySequence">
          <log level="custom">
               <property name="text" value="Sequence {Twitter-JSI-EntrySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {Twitter-JSI-EntrySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Twitter-JSI-EntrySequence_Broadcaster} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {Twitter-JSI-EntrySequence_Broadcaster} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Broadcaster">
               <property name="ValidateEnabled" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {Twitter-JSI-EntrySequence_SyncASyncMediator} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {Twitter-JSI-EntrySequence_SyncASyncMediator} mediator"/>
          </class>
          <filter source="get-property('com.jeppesen.jsi.message.Type')" regex="1">
               <then>
                    <class name="com.jeppesen.jsi.synapse.ContentBasedRouter"/>
                    <drop/>
               </then>
               <else>
                    <class name="com.jeppesen.jsi.synapse.MonitorLogger">
                         <property name="TextLine" value="SyncAsync-Filter -- The message is asynchronous it will be delivered asynchronously.in other words; if the message is synchronous it will NEVER be delivered."/>
                         <property name="QueueKey" value="Twitter"/>
                         <property name="Recipient" value="Twitter"/>
                    </class>
                    <property name="RESPONSE" value="true"/>
                    <header name="To" action="remove"/>
                    <class name="com.jeppesen.jsi.synapse.Responder">
                         <property name="ResponseCode" value="200"/>
                    </class>
                    <out>
                         <send/>
                    </out>
               </else>
          </filter>
     </sequence>
     <sequence name="AeroData-JSI-EntrySequence">
          <log level="custom">
               <property name="text" value="Sequence {AeroData-JSI-EntrySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {AeroData-JSI-EntrySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {AeroData-JSI-EntrySequence_Broadcaster} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {AeroData-JSI-EntrySequence_Broadcaster} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Broadcaster">
               <property name="ValidateEnabled" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {AeroData-JSI-EntrySequence_SyncASyncMediator} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="null"/>
               <property name="TextLine" value="Invoking {AeroData-JSI-EntrySequence_SyncASyncMediator} mediator"/>
          </class>
          <filter source="get-property('com.jeppesen.jsi.message.Type')" regex="1">
               <then>
                    <class name="com.jeppesen.jsi.synapse.ContentBasedRouter"/>
                    <drop/>
               </then>
               <else>
                    <class name="com.jeppesen.jsi.synapse.MonitorLogger">
                         <property name="TextLine" value="SyncAsync-Filter -- The message is asynchronous it will be delivered asynchronously.in other words; if the message is synchronous it will NEVER be delivered."/>
                         <property name="QueueKey" value="AeroData"/>
                         <property name="Recipient" value="AeroData"/>
                    </class>
                    <property name="RESPONSE" value="true"/>
                    <header name="To" action="remove"/>
                    <class name="com.jeppesen.jsi.synapse.Responder">
                         <property name="ResponseCode" value="200"/>
                    </class>
                    <out>
                         <send/>
                    </out>
               </else>
          </filter>
     </sequence>
     <sequence name="JetPlan_Sync_DeliverySequence" onError="Fault_JetPlan_Sync_DeliverySequence">
          <log level="custom">
               <property name="text" value="Sequence {JetPlan_Sync_DeliverySequence} launched"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="TextLine" value="Sequence {JetPlan_Sync_DeliverySequence} launched"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {JetPlan_Sync_DeliverySequence_Fetch} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="JetPlan_Sync"/>
               <property name="TextLine" value="Invoking {JetPlan_Sync_DeliverySequence_Fetch} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Fetch">
               <property name="QueueKey" value="JetPlan_Sync"/>
               <property name="MessageStatus" value="3"/>
               <property name="PostMessage" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {JetPlan_Sync_DeliverySequence_XVersion} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="JetPlan_Sync"/>
               <property name="TextLine" value="Invoking {JetPlan_Sync_DeliverySequence_XVersion} mediator"/>
          </class>
          <class name="com.jeppesen.jsi.synapse.Transform">
               <property name="ProductName" value="JetPlan"/>
               <property name="WrapInEnvelop" value="false"/>
          </class>
          <log level="custom">
               <property name="text" value="Invoking {JetPlan_Sync_DeliverySequence_Send} mediator"/>
          </log>
          <class name="com.jeppesen.jsi.synapse.MonitorLogger">
               <property name="QueueKey" value="JetPlan_Sync"/>
               <property name="TextLine" value="Invoking {JetPlan_Sync_DeliverySequence_Send} mediator"/>
          </class>
          <send>
               <endpoint key="JetPlan_Sync"/>
          </send>
          <class name="com.jeppesen.jsi.synapse.ResponseWaiter">
               <property name="QueueKey" value="JetPlan_Sync"/>
               <property name="RetryDelay" value="5"/>
               <property name="MaxTries" value="3"/>
               <property name="RetrySeqName" value="JetPlan_Sync_RetrySequence"/>
               <property name="FailureSeqName" value="Failure_JetPlan_Sync_DeliverySequence"/>
          </class>
          <filter source="get-property('com.jeppesen.jsi.synapse.ResponseWaiter.MessageMarkedFailed')" regex="false">
               <then>
                    <class name="com.jeppesen.jsi.synapse.Fetch">
                         <property name="QueueKey" value="JetPlan_Sync"/>
                         <property name="MessageStatus" value="4"/>
                         <property name="PostMessage" value="false"/>
                    </class>
               </then>
          </filter>
          <drop/>
     </sequence>
     <task class="com.jeppesen.jsi.registry.api.Initializer" name="Initializer">
          <trigger once="true"/>
     </task>
</definitions>


Thanks,
Abid


-----Original Message-----
From: Sadeep Jayasumana [mailto:gayansadeep@gmail.com]
Sent: Friday, July 08, 2011 11:48 PM
To: user@synapse.apache.org
Subject: Re: Help needed

Hi Abid,

Have you set "FORCE_SC_ACCEPTED" property to true in the inSequence?

It would be easier to suggest a solution if you could share the
configuration of your proxy service.

Thanks,
Sadeep

On Sat, Jul 9, 2011 at 9:29 AM, Abid Khan-EXT <Ab...@jeppesen.com>wrote:

> Hello all,
>
> I am using Synapse 1.2.
>
> I just have run into a problem;
>
> I have a proxy that has target with "inSequense" and "outSequence",
> "inSequence" also has a onErrorSequence.
>
> The <send..> mediator is the last mediator in the "inSequence".
>
> The problem is as soon as the message is sent, empty response is written to
> the client, and when the endpoint returns the actual response, it cannot be
> written and exception is logged "response is already committed..."
>
> My understanding was that outSequence would be initiated, and the client is
> put on hold until after the response is received by synapse?
>
> Please help,
>
> Thanks,
> Abid
>
>
>


--
Sadeep

Re: Help needed

Posted by Sadeep Jayasumana <ga...@gmail.com>.
Hi Abid,

Have you set "FORCE_SC_ACCEPTED" property to true in the inSequence?

It would be easier to suggest a solution if you could share the
configuration of your proxy service.

Thanks,
Sadeep

On Sat, Jul 9, 2011 at 9:29 AM, Abid Khan-EXT <Ab...@jeppesen.com>wrote:

> Hello all,
>
> I am using Synapse 1.2.
>
> I just have run into a problem;
>
> I have a proxy that has target with "inSequense" and "outSequence",
> "inSequence" also has a onErrorSequence.
>
> The <send..> mediator is the last mediator in the "inSequence".
>
> The problem is as soon as the message is sent, empty response is written to
> the client, and when the endpoint returns the actual response, it cannot be
> written and exception is logged "response is already committed..."
>
> My understanding was that outSequence would be initiated, and the client is
> put on hold until after the response is received by synapse?
>
> Please help,
>
> Thanks,
> Abid
>
>
>


-- 
Sadeep

Help needed

Posted by Abid Khan-EXT <Ab...@jeppesen.com>.
Hello all,

I am using Synapse 1.2.

I just have run into a problem;

I have a proxy that has target with "inSequense" and "outSequence", "inSequence" also has a onErrorSequence.

The <send..> mediator is the last mediator in the "inSequence".

The problem is as soon as the message is sent, empty response is written to the client, and when the endpoint returns the actual response, it cannot be written and exception is logged "response is already committed..."

My understanding was that outSequence would be initiated, and the client is put on hold until after the response is received by synapse?

Please help,

Thanks,
Abid



RE: Help: how to invoke a Sequence from a class mediator

Posted by Abid Khan-EXT <Ab...@jeppesen.com>.
Hello Charith,

I finally got time to look into this again, but the method "getSynapseConfiguration()" is not available in

messageContext.getEnvironment().getSynapseConfiguration()

if I write that it give me compilation error.

Thanks,
Abid

From: Charith Wickramarachchi [mailto:charith.dhanushka@gmail.com]
Sent: Monday, April 04, 2011 3:45 PM
To: user@synapse.apache.org
Cc: Abid Khan-EXT
Subject: Re: Help: how to invoke a Sequence from a class mediator

You have access to the Synapse Configuration inside any Mediator.
If its a defined sequence in the configuration.
you can use.
messageContext.getEnvironment().getSynapseConfiguration().getDefinedSequences().get("Sequence Name").

If its coming from a registry.
you can use.
messageContext.getSequence("Sequence Name")

thanks,
Charith


On Mon, Apr 4, 2011 at 10:13 PM, Abid Khan-EXT <Ab...@jeppesen.com>> wrote:
Hello

I have a certain need for invoking a sequence from a class mediator, please provide some hints,

Thank,
Abid



--
Charith Dhanushka Wickramarachchi
Software Engineer
WSO2 Inc
http://wso2.com/
http://wso2.org/

blog
http://charithwiki.blogspot.com/

twitter
http://twitter.com/charithwiki


Re: Help: how to invoke a Sequence from a class mediator

Posted by Charith Wickramarachchi <ch...@gmail.com>.
You have access to the Synapse Configuration inside any Mediator.
If its a defined sequence in the configuration.
you can use.
messageContext.getEnvironment().getSynapseConfiguration().getDefinedSequences().get("Sequence
Name").

If its coming from a registry.
you can use.
messageContext.getSequence("Sequence Name")

thanks,
Charith



On Mon, Apr 4, 2011 at 10:13 PM, Abid Khan-EXT <Ab...@jeppesen.com>wrote:

> Hello
>
> I have a certain need for invoking a sequence from a class mediator, please
> provide some hints,
>
> Thank,
> Abid
>



-- 
Charith Dhanushka Wickramarachchi
Software Engineer
WSO2 Inc
http://wso2.com/
http://wso2.org/

blog
http://charithwiki.blogspot.com/

twitter
http://twitter.com/charithwiki

Help: how to invoke a Sequence from a class mediator

Posted by Abid Khan-EXT <Ab...@jeppesen.com>.
Hello

I have a certain need for invoking a sequence from a class mediator, please provide some hints,

Thank,
Abid

Re: Help needed! Integrating with a web service.

Posted by Charith Wickramarachchi <ch...@gmail.com>.
Hi Abid,

Have you look in to the Synapse samples[1] ? Where you find lot of examples
that shows how we can implement different integration scenarios.And these
samples are coming with the synapse distribution.
I think you will get some understanding of synapse configuration language
and how to configure this kind of scenario by running this samples. (Sample
0 and 1 are very simple ones that explain what you need.)

And [2] will be useful to get a better understanding of synapse.


[1] http://synapse.apache.org/Synapse_Samples.html
[2] http://wso2.org/library/2559
thanks,
Charith


On Sat, Feb 26, 2011 at 4:52 AM, Abid Khan-EXT <Ab...@jeppesen.com>wrote:

> Hello Charith,
>
>
>
> Thanks for the quick response, what I am actually looking in simple form is
> some way to communicate with web-services. Which mean if an application a,
> want to send a web-service request to application b, if both applications
> are connected thru synapse. By some kind of communication they should be
> able to communicate. And I am looking for an example for that , if not the
> some steps to configure synapse would help too.
>
>
>
> [image: outlookReply]
>
>
>
> *From:* Charith Wickramarachchi [mailto:charith.dhanushka@gmail.com]
> *Sent:* Thursday, February 24, 2011 8:08 PM
> *To:* user@synapse.apache.org
> *Cc:* Abid Khan-EXT
> *Subject:* Re: Help needed! Integrating with a web service.
>
>
>
> Hi Abid ,
>
> If i get you correctly. Your requirement is to send some existing messages
> to the an another Web service with out interrupting the current Message
> flow.
>
> Are you currently using any content based filtering/routing to
> differentiate those message types ? If yes you will be able to use clone
> mediator at that points(where you need to send that message type to the
> webservice) and send a clone of the original messages to that service.
>
> thanks,
> Charith
>
>
> On Fri, Feb 25, 2011 at 4:46 AM, Abid Khan-EXT <Ab...@jeppesen.com>
> wrote:
>
> Hello all,
>
> I have synapse hosted in the company I am working for. And we are using
> synapse for integrating with different clients. Everything was fine until
> few days ago. One new clients have a web-service running at his location. We
> have number of application that are connecting using simple http. And we are
> consuming and generating nearly 100 different types of message. This new
> client want to user some of our messages. What is the best way for me to
> send some message to a web-service.
>
> I have tried few thing but nothing worked.
>
> Regards,
> Abid
>
>
>
>
> --
> Charith Dhanushka Wickramarachchi
> Software Engineer ,
> WSO2 Inc.
> http://wso2.com
>
>
>


-- 
Charith Dhanushka Wickramarachchi
http://charithwiki.blogspot.com/

Re: Help needed! Integrating with a web service.

Posted by Charith Wickramarachchi <ch...@gmail.com>.
Hi Abid ,

If i get you correctly. Your requirement is to send some existing messages
to the an another Web service with out interrupting the current Message
flow.

Are you currently using any content based filtering/routing to differentiate
those message types ? If yes you will be able to use clone mediator at that
points(where you need to send that message type to the webservice) and send
a clone of the original messages to that service.

thanks,
Charith


On Fri, Feb 25, 2011 at 4:46 AM, Abid Khan-EXT <Ab...@jeppesen.com>wrote:

> Hello all,
>
> I have synapse hosted in the company I am working for. And we are using
> synapse for integrating with different clients. Everything was fine until
> few days ago. One new clients have a web-service running at his location. We
> have number of application that are connecting using simple http. And we are
> consuming and generating nearly 100 different types of message. This new
> client want to user some of our messages. What is the best way for me to
> send some message to a web-service.
>
> I have tried few thing but nothing worked.
>
> Regards,
> Abid
>



-- 
Charith Dhanushka Wickramarachchi
Software Engineer ,
WSO2 Inc.
http://wso2.com

Help needed! Integrating with a web service.

Posted by Abid Khan-EXT <Ab...@jeppesen.com>.
Hello all,

I have synapse hosted in the company I am working for. And we are using synapse for integrating with different clients. Everything was fine until few days ago. One new clients have a web-service running at his location. We have number of application that are connecting using simple http. And we are consuming and generating nearly 100 different types of message. This new client want to user some of our messages. What is the best way for me to send some message to a web-service.

I have tried few thing but nothing worked.

Regards,
Abid

Re: Help needed: How to use co-rellation-id for JMS messages

Posted by Hiranya Jayathilaka <hi...@gmail.com>.
Hi Abid,

On Thu, Dec 2, 2010 at 5:01 AM, Abid Khan-EXT <Ab...@jeppesen.com> wrote:
> Thanks Hiranya,
>
> I will try that out and see if it works.

The JMS_COORELATION_ID property should be used when Synapse is acting
as the consumer (to set a custom correlation ID on the outgoing
response). It doesn't make much sense to use this property when
Synapse is acting as the producer. In the producer mode, Synapse
expects the consumer to send the request message ID as the correlation
ID in the response.

Thanks,
Hiranya

>
> Thanks,
> Abid
>
> -----Original Message-----
> From: Hiranya Jayathilaka [mailto:hiranya911@gmail.com]
> Sent: Wednesday, December 01, 2010 4:28 PM
> To: user@synapse.apache.org
> Subject: Re: Help needed: How to use co-rellation-id for JMS messages
>
> On Thu, Dec 2, 2010 at 4:49 AM, Hiranya Jayathilaka
> <hi...@gmail.com> wrote:
>> On Thu, Dec 2, 2010 at 4:23 AM, Abid Khan-EXT <Ab...@jeppesen.com> wrote:
>>> Could you also please tell me where would be the corelationId would it be in the SyanpseContext? Or somewhere else?
>>
>> It should be in the Axis2 MessageContext
>
> Actually by default Synapse doesn't send a correlation ID on the
> outgoing requests. So the replier will set the message ID of the
> request as the correlation ID. You can set a correlation ID on the
> request if you want by setting the JMS_COORELATION_ID property in
> Axis2 scope.
>
> Thanks,
> Hiranya
>
>>
>> Thanks,
>> Hiranya
>>
>>>
>>> -----Original Message-----
>>> From: Hiranya Jayathilaka [mailto:hiranya911@gmail.com]
>>> Sent: Wednesday, December 01, 2010 3:38 PM
>>> To: user@synapse.apache.org
>>> Subject: Re: Help needed: How to use co-rellation-id for JMS messages
>>>
>>> Hi,
>>>
>>> On Thu, Dec 2, 2010 at 3:33 AM, Abid Khan-EXT <Ab...@jeppesen.com> wrote:
>>>> Hello all,
>>>>
>>>> I was trying to find some example on how to set up an endpoint that uses JMS correlation id mechanism to send reply back to predefined Queue.
>>>>
>>>> I could not find any would you please guide me.
>>>
>>> Just add the transport.jms.ReplyDestination parameter to the JMS endpoint.
>>>
>>> eg:
>>>
>>> <endpoint>
>>>                <address
>>>
>>> uri="jms:/SimpleStockQuoteService?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;java.naming.provider.url=tcp://localhost:61616&amp;transport.jms.DestinationType=queue&amp;transport.jms.ReplyDestination=TestReplyQueue"/>
>>> </endpoint>
>>>
>>> Synapse will set the REPLY_TO JMS header on the outgoing request so
>>> that the server can look it up and send the response to the
>>> TestReplyQueue.
>>>
>>> Thanks,
>>> Hiranya
>>>
>>>>
>>>> Thanks,
>>>> Abid
>>>>
>>>
>>>
>>>
>>> --
>>> Hiranya Jayathilaka
>>> Senior Software Engineer;
>>> WSO2 Inc.;  http://wso2.org
>>> E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
>>> Blog: http://techfeast-hiranya.blogspot.com
>>>
>>
>>
>>
>> --
>> Hiranya Jayathilaka
>> Senior Software Engineer;
>> WSO2 Inc.;  http://wso2.org
>> E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
>> Blog: http://techfeast-hiranya.blogspot.com
>>
>
>
>
> --
> Hiranya Jayathilaka
> Senior Software Engineer;
> WSO2 Inc.;  http://wso2.org
> E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
> Blog: http://techfeast-hiranya.blogspot.com
>



-- 
Hiranya Jayathilaka
Senior Software Engineer;
WSO2 Inc.;  http://wso2.org
E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
Blog: http://techfeast-hiranya.blogspot.com

RE: Help needed: How to use co-rellation-id for JMS messages

Posted by Abid Khan-EXT <Ab...@jeppesen.com>.
Thanks Hiranya,

I will try that out and see if it works.

Thanks,
Abid

-----Original Message-----
From: Hiranya Jayathilaka [mailto:hiranya911@gmail.com]
Sent: Wednesday, December 01, 2010 4:28 PM
To: user@synapse.apache.org
Subject: Re: Help needed: How to use co-rellation-id for JMS messages

On Thu, Dec 2, 2010 at 4:49 AM, Hiranya Jayathilaka
<hi...@gmail.com> wrote:
> On Thu, Dec 2, 2010 at 4:23 AM, Abid Khan-EXT <Ab...@jeppesen.com> wrote:
>> Could you also please tell me where would be the corelationId would it be in the SyanpseContext? Or somewhere else?
>
> It should be in the Axis2 MessageContext

Actually by default Synapse doesn't send a correlation ID on the
outgoing requests. So the replier will set the message ID of the
request as the correlation ID. You can set a correlation ID on the
request if you want by setting the JMS_COORELATION_ID property in
Axis2 scope.

Thanks,
Hiranya

>
> Thanks,
> Hiranya
>
>>
>> -----Original Message-----
>> From: Hiranya Jayathilaka [mailto:hiranya911@gmail.com]
>> Sent: Wednesday, December 01, 2010 3:38 PM
>> To: user@synapse.apache.org
>> Subject: Re: Help needed: How to use co-rellation-id for JMS messages
>>
>> Hi,
>>
>> On Thu, Dec 2, 2010 at 3:33 AM, Abid Khan-EXT <Ab...@jeppesen.com> wrote:
>>> Hello all,
>>>
>>> I was trying to find some example on how to set up an endpoint that uses JMS correlation id mechanism to send reply back to predefined Queue.
>>>
>>> I could not find any would you please guide me.
>>
>> Just add the transport.jms.ReplyDestination parameter to the JMS endpoint.
>>
>> eg:
>>
>> <endpoint>
>>                <address
>>
>> uri="jms:/SimpleStockQuoteService?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;java.naming.provider.url=tcp://localhost:61616&amp;transport.jms.DestinationType=queue&amp;transport.jms.ReplyDestination=TestReplyQueue"/>
>> </endpoint>
>>
>> Synapse will set the REPLY_TO JMS header on the outgoing request so
>> that the server can look it up and send the response to the
>> TestReplyQueue.
>>
>> Thanks,
>> Hiranya
>>
>>>
>>> Thanks,
>>> Abid
>>>
>>
>>
>>
>> --
>> Hiranya Jayathilaka
>> Senior Software Engineer;
>> WSO2 Inc.;  http://wso2.org
>> E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
>> Blog: http://techfeast-hiranya.blogspot.com
>>
>
>
>
> --
> Hiranya Jayathilaka
> Senior Software Engineer;
> WSO2 Inc.;  http://wso2.org
> E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
> Blog: http://techfeast-hiranya.blogspot.com
>



--
Hiranya Jayathilaka
Senior Software Engineer;
WSO2 Inc.;  http://wso2.org
E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
Blog: http://techfeast-hiranya.blogspot.com

Re: Help needed: How to use co-rellation-id for JMS messages

Posted by Hiranya Jayathilaka <hi...@gmail.com>.
On Thu, Dec 2, 2010 at 4:49 AM, Hiranya Jayathilaka
<hi...@gmail.com> wrote:
> On Thu, Dec 2, 2010 at 4:23 AM, Abid Khan-EXT <Ab...@jeppesen.com> wrote:
>> Could you also please tell me where would be the corelationId would it be in the SyanpseContext? Or somewhere else?
>
> It should be in the Axis2 MessageContext

Actually by default Synapse doesn't send a correlation ID on the
outgoing requests. So the replier will set the message ID of the
request as the correlation ID. You can set a correlation ID on the
request if you want by setting the JMS_COORELATION_ID property in
Axis2 scope.

Thanks,
Hiranya

>
> Thanks,
> Hiranya
>
>>
>> -----Original Message-----
>> From: Hiranya Jayathilaka [mailto:hiranya911@gmail.com]
>> Sent: Wednesday, December 01, 2010 3:38 PM
>> To: user@synapse.apache.org
>> Subject: Re: Help needed: How to use co-rellation-id for JMS messages
>>
>> Hi,
>>
>> On Thu, Dec 2, 2010 at 3:33 AM, Abid Khan-EXT <Ab...@jeppesen.com> wrote:
>>> Hello all,
>>>
>>> I was trying to find some example on how to set up an endpoint that uses JMS correlation id mechanism to send reply back to predefined Queue.
>>>
>>> I could not find any would you please guide me.
>>
>> Just add the transport.jms.ReplyDestination parameter to the JMS endpoint.
>>
>> eg:
>>
>> <endpoint>
>>                <address
>>
>> uri="jms:/SimpleStockQuoteService?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;java.naming.provider.url=tcp://localhost:61616&amp;transport.jms.DestinationType=queue&amp;transport.jms.ReplyDestination=TestReplyQueue"/>
>> </endpoint>
>>
>> Synapse will set the REPLY_TO JMS header on the outgoing request so
>> that the server can look it up and send the response to the
>> TestReplyQueue.
>>
>> Thanks,
>> Hiranya
>>
>>>
>>> Thanks,
>>> Abid
>>>
>>
>>
>>
>> --
>> Hiranya Jayathilaka
>> Senior Software Engineer;
>> WSO2 Inc.;  http://wso2.org
>> E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
>> Blog: http://techfeast-hiranya.blogspot.com
>>
>
>
>
> --
> Hiranya Jayathilaka
> Senior Software Engineer;
> WSO2 Inc.;  http://wso2.org
> E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
> Blog: http://techfeast-hiranya.blogspot.com
>



-- 
Hiranya Jayathilaka
Senior Software Engineer;
WSO2 Inc.;  http://wso2.org
E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
Blog: http://techfeast-hiranya.blogspot.com

Re: Help needed: How to use co-rellation-id for JMS messages

Posted by Hiranya Jayathilaka <hi...@gmail.com>.
On Thu, Dec 2, 2010 at 4:23 AM, Abid Khan-EXT <Ab...@jeppesen.com> wrote:
> Could you also please tell me where would be the corelationId would it be in the SyanpseContext? Or somewhere else?

It should be in the Axis2 MessageContext

Thanks,
Hiranya

>
> -----Original Message-----
> From: Hiranya Jayathilaka [mailto:hiranya911@gmail.com]
> Sent: Wednesday, December 01, 2010 3:38 PM
> To: user@synapse.apache.org
> Subject: Re: Help needed: How to use co-rellation-id for JMS messages
>
> Hi,
>
> On Thu, Dec 2, 2010 at 3:33 AM, Abid Khan-EXT <Ab...@jeppesen.com> wrote:
>> Hello all,
>>
>> I was trying to find some example on how to set up an endpoint that uses JMS correlation id mechanism to send reply back to predefined Queue.
>>
>> I could not find any would you please guide me.
>
> Just add the transport.jms.ReplyDestination parameter to the JMS endpoint.
>
> eg:
>
> <endpoint>
>                <address
>
> uri="jms:/SimpleStockQuoteService?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;java.naming.provider.url=tcp://localhost:61616&amp;transport.jms.DestinationType=queue&amp;transport.jms.ReplyDestination=TestReplyQueue"/>
> </endpoint>
>
> Synapse will set the REPLY_TO JMS header on the outgoing request so
> that the server can look it up and send the response to the
> TestReplyQueue.
>
> Thanks,
> Hiranya
>
>>
>> Thanks,
>> Abid
>>
>
>
>
> --
> Hiranya Jayathilaka
> Senior Software Engineer;
> WSO2 Inc.;  http://wso2.org
> E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
> Blog: http://techfeast-hiranya.blogspot.com
>



-- 
Hiranya Jayathilaka
Senior Software Engineer;
WSO2 Inc.;  http://wso2.org
E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
Blog: http://techfeast-hiranya.blogspot.com

RE: Help needed: How to use co-rellation-id for JMS messages

Posted by Abid Khan-EXT <Ab...@jeppesen.com>.
Could you also please tell me where would be the corelationId would it be in the SyanpseContext? Or somewhere else?

-----Original Message-----
From: Hiranya Jayathilaka [mailto:hiranya911@gmail.com]
Sent: Wednesday, December 01, 2010 3:38 PM
To: user@synapse.apache.org
Subject: Re: Help needed: How to use co-rellation-id for JMS messages

Hi,

On Thu, Dec 2, 2010 at 3:33 AM, Abid Khan-EXT <Ab...@jeppesen.com> wrote:
> Hello all,
>
> I was trying to find some example on how to set up an endpoint that uses JMS correlation id mechanism to send reply back to predefined Queue.
>
> I could not find any would you please guide me.

Just add the transport.jms.ReplyDestination parameter to the JMS endpoint.

eg:

<endpoint>
                <address

uri="jms:/SimpleStockQuoteService?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;java.naming.provider.url=tcp://localhost:61616&amp;transport.jms.DestinationType=queue&amp;transport.jms.ReplyDestination=TestReplyQueue"/>
</endpoint>

Synapse will set the REPLY_TO JMS header on the outgoing request so
that the server can look it up and send the response to the
TestReplyQueue.

Thanks,
Hiranya

>
> Thanks,
> Abid
>



--
Hiranya Jayathilaka
Senior Software Engineer;
WSO2 Inc.;  http://wso2.org
E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
Blog: http://techfeast-hiranya.blogspot.com

Re: Help needed: How to use co-rellation-id for JMS messages

Posted by Hiranya Jayathilaka <hi...@gmail.com>.
Hi,

On Thu, Dec 2, 2010 at 3:33 AM, Abid Khan-EXT <Ab...@jeppesen.com> wrote:
> Hello all,
>
> I was trying to find some example on how to set up an endpoint that uses JMS correlation id mechanism to send reply back to predefined Queue.
>
> I could not find any would you please guide me.

Just add the transport.jms.ReplyDestination parameter to the JMS endpoint.

eg:

<endpoint>
                <address

uri="jms:/SimpleStockQuoteService?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;java.naming.provider.url=tcp://localhost:61616&amp;transport.jms.DestinationType=queue&amp;transport.jms.ReplyDestination=TestReplyQueue"/>
</endpoint>

Synapse will set the REPLY_TO JMS header on the outgoing request so
that the server can look it up and send the response to the
TestReplyQueue.

Thanks,
Hiranya

>
> Thanks,
> Abid
>



-- 
Hiranya Jayathilaka
Senior Software Engineer;
WSO2 Inc.;  http://wso2.org
E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
Blog: http://techfeast-hiranya.blogspot.com