No need to shout ;)
On 10/31/06, lipkap <[EMAIL PROTECTED]> wrote:
Please see inline
gnodet wrote:
>
> Another alternative would be to write new EIP patterns
> to be able to re-route flows wrt to errors / faults.
> See this thread for example:
>
>
http://www.nabble.com/Declarative-Exception-Handling-in-ServiceMix-tf2161788.html#a6658179
>
> However nothing has been implemented yet in servicemix.
>
> Another option would be to use an EndointChooser with an
> org.apache.servicemix.jbi.event.ExchangeListener. You should be
> able to intercept all errors / faults and act accordingly.
>
> THIS SOUNDS REALLY NICE. IS IT THIS OPTION THAT WOULD BE HARD TO
> USE IN A STANDARD JBI FASHION??
Currently, there is no way to add listeners / change EndpointChooser strategy
easily. Though it can be done by deploying a dummy SU in the lightweight
container and access the JBI container to configure it. The only way
which would
work with any JBI container would be to use components.
>
> Note that the JBICOntainer.resendExchange may be useful to resend
> a failed exchange.
>
> I'm not quite sure yet what the best way is: a flow / broker or
> using components. The first one is nice because you can do
> the failover without changing the exchange flow, but it will be
> difficult to use in a std JBI way (with SU deployments).
>
> I AM NOT REALLY SURE WHICH ONE WILL BE HARD TO USE IN A "STANDARD" KIND OF
> WAY.
> THE ONE WITH THE BROKER/FLOW OR THE ONE WITH THE ENDPOINT CHOOSER ??
The broker can not be changed at runtime (at least it has not been
tested at all).
But I think it may be a better idea. Ralph pointed in the
http://www.nabble.com/Declarative-Exception-Handling-in-ServiceMix-tf2161788.html#a6658179
thread that the error handlers could be set on both the container and
an eip patterns. I think this is a good way to go.
>
> I guess we could use some SU metadata in the jbi descriptor to setup
> some advanced stuff. This would also benefit other areas like
> security, etc ...
>
> YOU WOULD WANT TO PLACE SOME FAILOVER STRATEGY METADATA IN THE SU JBI
> DESCRIPTOR AM I RIGHT?
Yeah. I think it could be interesting. If we implement a failover
broker, it may need
metadata to determine if an exchange should be considered failed and thus
retried with another matching endpoint. Security informations could also be
included in the SU or SA descriptor. I think the SA descriptor may be a better
place, as SU are meant to be reusable in different SAs.
>
>
>
> On 10/31/06, lipkap <[EMAIL PROTECTED]> wrote:
>>
>> Hi,
>>
>> I am planning to do transparent failover when routing message exchanges
>> by
>> service name.
>>
>> Say I have three endpoints (A, B, C) for service
>> {http://some.service.com/}SomeService, all of which are outbound proxy
>> kind
>> of endpoints (i.e. they proxy an external service instance). Each of them
>> proxies to an instance of the same service but on a different machine.
>>
>> I want to implement transparent failover and loadbalancing between the
>> instances inside the JBI container. Could anyone plz point me to a place
>> in
>> code where I could put this functionality.
>>
>> Load balancing is easy (there's a pluggable strategy interface called
>> EndpointChooser whoch allows you to do that). With failover it is
>> somewhat
>> more difficult.
>>
>> For now the choice is to write a custom Flow implementation or a custom
>> Broker implementation. The options are numerous so I decided to post here
>> in
>> case anyone has any cool ideas.
>>
>> thanks in advance.
>> --
>> View this message in context:
>>
http://www.nabble.com/Transparent-failover-when-routing-message-exchanges-tf2544462.html#a7089893
>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>
>>
>
>
> --
> Cheers,
> Guillaume Nodet
>
>
--
View this message in context:
http://www.nabble.com/Transparent-failover-when-routing-message-exchanges-tf2544462.html#a7090964
Sent from the ServiceMix - User mailing list archive at Nabble.com.
--
Cheers,
Guillaume Nodet