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

Reply via email to