Hi Ruwan, >>Isn't there a requirement saying that if one sequence drops the message >>non of the sequences are going to send the message out. I understood >>your requirement like that..... Please correct me if I am wrong.
No..my requirement does not prohibit sending message out from any sequence if any other sequnce fails. i have to capture only the services to which the message was successfully sent from the corresponding sequnce. On Tue, Mar 18, 2008 at 12:02 AM, Ruwan Linton <[EMAIL PROTECTED]> wrote: > Riyadh wrote: > > Hi Ruwan, > > > > Thank you for writing a such expalnatory mail. I guess getting closure > > :). still i have some confusion. May be i should i add few things in > > addtion to the requirements i said in the last mail. > > > > any sequence mediator in the clone may drop the message that flows in. > > For example from 5 squence mediators 2 of them dropped the message > > without sending it to any service. and then at the end of the clone we > > want to capture to which services the message was sent to. > > > Isn't there a requirement saying that if one sequence drops the message > non of the sequences are going to send the message out. I understood > your requirement like that..... Please correct me if I am wrong. > > I have some difficulties to understand your solution.. please have a > > look at my reply in the specific lines... > > > > On Mon, Mar 17, 2008 at 5:24 PM, Ruwan Linton <[EMAIL PROTECTED] > > <mailto:[EMAIL PROTECTED]>> wrote: > > > > Hi Riyadh, > > > > Well, the clone mediator is same as send in the operation nature > > (what I > > just explained), because it injects the cloned messages to synapse > in > > parallel (asynchronously) and those cloned messages are completely > > independent, and hence this requirement is a little hard to achieve. > > > > Let me try to explain one possible but hard to implement solution. > You > > will have to write a blocking state full mediator, and the messages > > > > > > > > >>which arrives this mediator is stored inside a map indexed with > > the the > > >>message number and > > > > > > you mean a map that will be known to every sequence. so each blocking > > state full mediator basically stores its cloned message with the index > > (= messagesequnce no ) into the map. > Exactly. > > > > > > >> the parent message id in to a message group (having > > >>the same parent message id), > > > > > > in the clone every message has the same parent id..no?? if so same id > > will be stored for the blocking state full mediator in each sequnce. > Yes, message sequence will be the identifier and the parent message id > will be the common attribute in each and every message... > > > > > > > > and wait till that mediator receives all > > the messages before letting the message to go out from that > mediator. > > > > > > > > >>At the same time when ever a message has been received for > > mediation this > > >>should check for the completion of a message group. > > > > > > could you please explain this one a bit. i did not quite get it :( > When ever a message receives this mediator that particular message will > be checked for the messages with the same parent message id as the > current message parent message id and then these messages will be > checked for the completion. > > That is the message sequence specifies the 1/4 or 3/4 or some number > implying that the total count has to be 4 and you received the first and > the third cloned messages but still two more are missing and hence the > mediator has to wait, without returning the messages for the mediation, > until all four has been arrived, which will be checked on arrival of > each and every message... > > > > > > > This mediator has to be put just before the send mediator in all the > > sequences, to ensure all the messages have been reached this > mediator > > before releasing the messages to send. There are two properties in > the > > cloned messages that will be help full in achieving this; > > > > messageSequence ==> which will be something like 1/4, 3/4, etc... > > ($message_number/$number_of_cloned_messages) > > aggregateCorelation ==> the message id of the parent message from > > which > > these messages are cloned > > > > >>You may have a look at the aggregate mediator code which does > > something > > >>similar. > > > > > > you mean some sample mediator code? > Yeah, > > http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/eip/aggregator/AggregateMediator.java?view=markup > > Thanks, > Ruwan > > > > > > > > You will need to specify a timeout for a message group so that > > the mediator will only wait only for that time period and discards > the > > whole message group. > > > > Even then you could not detect sending channel failures. Obviously > > it is > > not possible to assure your requirement if one message fails in the > > transport channel of the sending process because when ever that > > particular message fails in the transport some of the messages has > > been > > already sent to the recipient. > > > > If not you could write your own clone mediator which does the > > mediation > > synchronously and assures the sending of the messages at the end of > > mediation of cloned messages. > > > > If you need further clarifications on this please do not hesitate to > > bother me :-) > > > > Thanks, > > Ruwan > > > > Riyadh wrote: > > > Hi, > > > > > > Thanks for your reply. > > > let me specify our requirements: > > > > > > We have a clone mediator which clones the same message to a > > number > > > of sequence mediators where each sequence mediator contains a set > of > > > mediators. Each sequence has a send mediator at the end in the > > > sequence to send the message to a service. > > > > > > At the end of clone we want to determine that to which services > the > > > message was sent and we have to capture the list of services to > whom > > > the message was sent before logging it. We will use our custom log > > > mediator to log it. > > > > > > Now if any sequence in the clone fails, the message is not sent > > to any > > > service. How do i capture this at the end of clone? > > > I hope i could explain what i want. > > > > > > Is the usage of transport helpful here? can you just explain a > bit > > > about it? > > > > > > Thank you. > > > Riyadh > > > > > > > > > On Mon, Mar 17, 2008 at 3:31 PM, Ruwan Linton <[EMAIL PROTECTED] > > <mailto:[EMAIL PROTECTED]> > > > <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>> wrote: > > > > > > Hi Riyadh, > > > > > > Riyadh wrote: > > > > Hi Paul, > > > > > > > > Thanks for your reply. > > > > i can see that using the fault sequence i can capture the > > > failure of > > > > a message continuation but i rather need to capture the > > successful > > > > mediation. > > > > > > > > is there any variable or property which is set for > > continuation > > > of the > > > > mediator and i can read the value of the variable in a > > subsequent > > > > mediator. > > > Well, for the moment there is no such property, but even if > > we put a > > > property to check the successful continuation, when it comes > to > > > mediators like send, this value does not have much value, > > because send > > > is asynchronous inside the ESB, so that you want be able to > > detect the > > > successful delivery of a message. What you can check is > > whether the > > > message has been submitted to the transport for sending > > > successfully...??? > > > > > > If this is the case, even then you don't need this property > > > because you > > > get to the point where you are now in mediation because all > the > > > already > > > executed mediators are successful in there mediation.... > > > > > > Can you please elaborate on your exact requirements so that > > we will be > > > able to help you.. > > > > > > Thanks, > > > Ruwan > > > > > > _______________________________________________ > > > Esb-java-dev mailing list > > > [email protected] <mailto:[email protected]> > > <mailto:[email protected] <mailto:[email protected]>> > > > http://wso2.org/cgi-bin/mailman/listinfo/esb-java-dev > > > > > > > > > > > > ------------------------------------------------------------------------ > > > > > > _______________________________________________ > > > Esb-java-dev mailing list > > > [email protected] <mailto:[email protected]> > > > http://wso2.org/cgi-bin/mailman/listinfo/esb-java-dev > > > > > > > > > _______________________________________________ > > Esb-java-dev mailing list > > [email protected] <mailto:[email protected]> > > http://wso2.org/cgi-bin/mailman/listinfo/esb-java-dev > > > > > > ------------------------------------------------------------------------ > > > > _______________________________________________ > > Esb-java-dev mailing list > > [email protected] > > http://wso2.org/cgi-bin/mailman/listinfo/esb-java-dev > > > > > _______________________________________________ > Esb-java-dev mailing list > [email protected] > http://wso2.org/cgi-bin/mailman/listinfo/esb-java-dev >
_______________________________________________ Esb-java-dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/esb-java-dev
