Hi Gayan, This does not always work. For example the following give an org.apache.axiom.om.OMException Error.
<proxy name="testProxy" transports="https http" startOnLoad="true" trace="disable"> <description/> <target> <inSequence> <send> <endpoint> <address uri="http://localhost:9000"/> </endpoint> </send> <log level="full"/> </inSequence> <outSequence> <send/> </outSequence> </target> </proxy> The reason is the message is not fully built when the log mediator is executed. If you add another <log level="full"/> before the send mediator, both log mediators will work. Thanks, Jeewantha On Tue, Jun 17, 2014 at 9:50 AM, Gayan Yalpathwala <gay...@wso2.com> wrote: > Hi All, > > > On Mon, Jun 16, 2014 at 11:53 AM, Imesh Gunaratne <im...@wso2.com> wrote: > >> Hi Gayan, >> >> Thanks for the input, yes I noticed this in Developer Studio. By any >> chance do you know the reason for adding this restriction? >> >> As I understand there could be scenarios where we need to add mediators >> after a send mediator in an out sequence such as BAM and log. One other >> point to note here is that ESB has not restricted this. >> > > I have discussed about this offline with Jeewantha and figured out some > exceptional cases where we get to add mediators after a send mediator. > > @Kasun, > Why do we execute the flow after a send mediator since we expect only a > non-blocking behavior from a send mediator? If so, we need to attend and > sync these scenarios in ESB and Dev studio. > > >> Thanks >> >> >> On Mon, Jun 16, 2014 at 9:57 AM, Gayan Yalpathwala <gay...@wso2.com> >> wrote: >> >>> Hi Imesh, >>> >>> Considering perf details you have mentioned, having the BAM mediator >>> after a send mediator would optimize the situation. But it is not the >>> recommended to add any mediator after a send mediator. If you check in >>> Developer studio, we have deliberately restricted this behavior. >>> >>> Thanks, >>> >>> >>> On Fri, Jun 13, 2014 at 10:20 AM, Imesh Gunaratne <im...@wso2.com> >>> wrote: >>> >>>> HI Ayash, >>>> >>>> Yes after doing the optimisations we placed the BAM mediator after the >>>> "send" call in the out mediation flow. >>>> >>>> Thanks >>>> >>>> >>>> On Fri, Jun 13, 2014 at 2:33 AM, Ayash <ayashkan...@wso2.com> wrote: >>>> >>>>> Hi Imesh, >>>>> >>>>> While experiencing this problem, do you remember where the BAM >>>>> Mediators were in the mediation flow? Have you kept them after calling >>>>> "send" or before in the mediation flow? >>>>> >>>>> Thanks, >>>>> -Ayash >>>>> >>>>> >>>>> On Thu, Feb 13, 2014 at 2:18 PM, Imesh Gunaratne <im...@wso2.com> >>>>> wrote: >>>>> >>>>>> s/comapred/compared/g >>>>>> s/millisecods/milliseconds/g >>>>>> >>>>>> >>>>>> On Thu, Feb 13, 2014 at 10:21 AM, Imesh Gunaratne <im...@wso2.com> >>>>>> wrote: >>>>>> >>>>>>> Hi Sinthuja, >>>>>>> >>>>>>> Thanks for your response. Absolutely the concern is not with the >>>>>>> data publisher but with the bam mediator logic being executed in the >>>>>>> mediation flow. >>>>>>> >>>>>>> This is something I experienced during last couple of days while >>>>>>> configuring several BAM mediators in an ESB flow. When a load test was >>>>>>> run >>>>>>> (with a set of concurrent users) and the ESB mediation latency was >>>>>>> monitored, the BAM mediators were taking considerable amount of time >>>>>>> comapred with the ESB latency without having the BAM mediators. It was >>>>>>> like >>>>>>> 90 ms with the BAM mediators and 35 ms without them. >>>>>>> >>>>>>> What I wanted to highlight here is that, I could not see any reason >>>>>>> for executing the above logic in the mediation flow and adding several >>>>>>> millisecods to the ESB latency. >>>>>>> >>>>>>> Thanks >>>>>>> >>>>>>> >>>>>>> On Thu, Feb 13, 2014 at 12:32 AM, Sinthuja Ragendran < >>>>>>> sinth...@wso2.com> wrote: >>>>>>> >>>>>>>> Hi Imesh, >>>>>>>> >>>>>>>> Publish() method in data publisher is not a blocking call, it's a >>>>>>>> asynchronous call. Within data publisher the events are put into a >>>>>>>> queue >>>>>>>> and a separate thread does the real publishing to BAM. Also in BAM >>>>>>>> mediator, the AsyncDataPublisher is being used therefore the >>>>>>>> connection to >>>>>>>> BAM is also made asynchronous. Hence IMHO it's not required to spawn >>>>>>>> a new >>>>>>>> thread externally to publish the events and make it complicated. >>>>>>>> >>>>>>>> Thanks, >>>>>>>> Sinthuja. >>>>>>>> >>>>>>>> >>>>>>>> On Thu, Feb 13, 2014 at 2:15 AM, Imesh Gunaratne <im...@wso2.com> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> Hi, >>>>>>>>> >>>>>>>>> This is regarding the BAM Mediator 4.2.0. >>>>>>>>> As it looks like currently the BAM Mediator is executing the data >>>>>>>>> publishing logic in the same thread which the current message >>>>>>>>> mediation is >>>>>>>>> happening: >>>>>>>>> >>>>>>>>> public class BamMediator: >>>>>>>>> >>>>>>>>> public boolean mediate(MessageContext messageContext) { >>>>>>>>> ... >>>>>>>>> try { >>>>>>>>> stream.sendEvents(messageContext); >>>>>>>>> } catch (BamMediatorException e) { >>>>>>>>> return true; >>>>>>>>> } >>>>>>>>> >>>>>>>>> } >>>>>>>>> } >>>>>>>>> >>>>>>>>> public class Stream { >>>>>>>>> >>>>>>>>> ... >>>>>>>>> >>>>>>>>> public void sendEvents(MessageContext messageContext) throws >>>>>>>>> BamMediatorException { >>>>>>>>> ActivityIDSetter activityIDSetter = new ActivityIDSetter(); >>>>>>>>> >>>>>>>>> activityIDSetter.setActivityIdInTransportHeader(messageContext); >>>>>>>>> try { >>>>>>>>> if (!isPublisherCreated) { >>>>>>>>> initializeDataPublisher(this); >>>>>>>>> isPublisherCreated = true; >>>>>>>>> } >>>>>>>>> this.publishEvent(messageContext); >>>>>>>>> } catch (BamMediatorException e) { >>>>>>>>> String errorMsg = "Problem occurred while logging events >>>>>>>>> in the BAM Mediator. " + e.getMessage(); >>>>>>>>> log.error(errorMsg, e); >>>>>>>>> throw new BamMediatorException(errorMsg, e); >>>>>>>>> } >>>>>>>>> } >>>>>>>>> >>>>>>>>> ... >>>>>>>>> >>>>>>>>> } >>>>>>>>> >>>>>>>>> I think if we move this logic to a new thread we could reduce the >>>>>>>>> time it takes to execute the data publishing logic from the main >>>>>>>>> message >>>>>>>>> flow. WDYT? >>>>>>>>> >>>>>>>>> Thanks >>>>>>>>> >>>>>>>>> -- >>>>>>>>> *Imesh Gunaratne* >>>>>>>>> Technical Lead >>>>>>>>> WSO2 Inc: http://wso2.com >>>>>>>>> T: +94 11 214 5345 M: +94 77 374 2057 >>>>>>>>> W: http://imesh.gunaratne.org >>>>>>>>> Lean . Enterprise . Middleware >>>>>>>>> >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> Dev mailing list >>>>>>>>> Dev@wso2.org >>>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> *Sinthuja Rajendran* >>>>>>>> Software Engineer <http://wso2.com/> >>>>>>>> WSO2, Inc.:http://wso2.com >>>>>>>> >>>>>>>> Blog: http://sinthu-rajan.blogspot.com/ >>>>>>>> Mobile: +94774273955 >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> *Imesh Gunaratne* >>>>>>> Technical Lead >>>>>>> WSO2 Inc: http://wso2.com >>>>>>> T: +94 11 214 5345 M: +94 77 374 2057 >>>>>>> W: http://imesh.gunaratne.org >>>>>>> Lean . Enterprise . Middleware >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> *Imesh Gunaratne* >>>>>> Technical Lead >>>>>> WSO2 Inc: http://wso2.com >>>>>> T: +94 11 214 5345 M: +94 77 374 2057 >>>>>> W: http://imesh.gunaratne.org >>>>>> Lean . Enterprise . Middleware >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Dev mailing list >>>>>> Dev@wso2.org >>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Ayashkantha Ramasinghe >>>>> Software Engineer WSO2, Inc. >>>>> email: ayashkan...@wso2.com <sanj...@wso2.com>; >>>>> TP: +94 77 7 487 669 >>>>> >>>> >>>> >>>> >>>> -- >>>> *Imesh Gunaratne* >>>> Technical Lead >>>> WSO2 Inc: http://wso2.com >>>> T: +94 11 214 5345 M: +94 77 374 2057 >>>> W: http://imesh.gunaratne.org >>>> Lean . Enterprise . Middleware >>>> >>>> >>>> _______________________________________________ >>>> Dev mailing list >>>> Dev@wso2.org >>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>> >>>> >>> >>> >>> -- >>> *Gayan Kaushalya Yalpathwala* >>> Software Engineer >>> WSO2 Inc.; http://wso2.com >>> lean.enterprise.middleware >>> >>> mobile: +94 71 8682704 <http://asia14.wso2con.com/> >>> >>> <http://asia14.wso2con.com/> >>> >> >> >> >> -- >> *Imesh Gunaratne* >> Technical Lead >> WSO2 Inc: http://wso2.com >> T: +94 11 214 5345 M: +94 77 374 2057 >> W: http://imesh.gunaratne.org >> Lean . Enterprise . Middleware >> >> > Thanks, > > > > -- > *Gayan Kaushalya Yalpathwala* > Software Engineer > WSO2 Inc.; http://wso2.com > lean.enterprise.middleware > > mobile: +94 71 8682704 <http://asia14.wso2con.com/> > > <http://asia14.wso2con.com/> > -- Jeewantha Dharmaparakrama Software Engineer; WSO2, Inc.; http://wso2.com/ Phone : (+94) 774726790 Skype : prasad.jeewantha LinkedIn : http://www.linkedin.com/in/jeewanthad Twitter: https://twitter.com/jeewamp Blog: http://jeewanthad.blogspot.com/
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev