JMS BC - transactions and durable subscribers

View: New views
4 Messages — Rating Filter:   Alert me  

JMS BC - transactions and durable subscribers

by Darko Androsevic :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi all,

I am wondering about features like JMS transactions and durable
subscribers using JMSBC.

In particular, how can one ensure a reliable JMS delivery using
transactions and JMSBC?

What message status/exception consumer service should return/set/throw
in order to JMSBC and in turn JMS transaction to rollback and cause JMS
to redeliver a message?
How can one create/re-connect a "durable" subscriber using JMS BC which
will guarantee JMS delivery in case a client is temporarily down?


Cheers,
Darko

Be there when GIS and the Web unite!  Join us for an exciting GeoWeb
2008 Conference!  For more details, please visit
www.geowebconference.org.


--
You receive this message as a subscriber of the petals-users@... mailing list.
To unsubscribe: mailto:petals-users-unsubscribe@...
For general help: mailto:sympa@...?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws

Re: JMS BC - transactions and durable subscribers

by Roland Naudin - EBM WebSourcing :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello Doarko,

AFAIK, the JMS BC doesn't support transacted sessions for the moment.

But if the component would support transaction, it would certainly be
for the MEP IN_ONLY. According to the ack of the provider, the
transaction would be committed or rolled back.
Another possibily is to propagate the transaction through the PEtALS
containers. The transaction can be rolled back or committed at any point
of the flow. The problem about that is that all the components involved
in the flow MUST handle the transaction in this specific flow context.
There is no integrated feature in the CDK to handle that, so you have to
develop your own component for doing that.

If you want to use more complex pattern as consumer, I think that the
JMS BC must use 2 Topics/queues; one to receive to request and another
to send back the response/fault.

Fo your last point, i don't understand your point about your durable
subscriber. Do you mean that you connect the JMS BC to a remote MOM
provider, and the connection break down?  In this case you will have a
JMS connection exception raised by the JMS client API, if the JMS BC has
set a listener of errors on the connection (i don't know if the JMS DB
does that).
But even if the exception is logged in the JMS BC, nothing is done for
the moment. We can think of mecanism inside the JMS BC or outside via
JMX to stop/(shutdown?) and restart the SUs involved on the JMS
connection.

Many things are possible!
Every above points can be discussed.
I think Adrien would have a cleariest view on the component, but he is
on vacations until next week.

Regards,
/Roland

Le mercredi 23 juillet 2008 à 13:23 -0700, Darko Androsevic a écrit :

> Hi all,
>
> I am wondering about features like JMS transactions and durable
> subscribers using JMSBC.
>
> In particular, how can one ensure a reliable JMS delivery using
> transactions and JMSBC?
>
> What message status/exception consumer service should return/set/throw
> in order to JMSBC and in turn JMS transaction to rollback and cause JMS
> to redeliver a message?
> How can one create/re-connect a "durable" subscriber using JMS BC which
> will guarantee JMS delivery in case a client is temporarily down?
>
>
> Cheers,
> Darko
>
> Be there when GIS and the Web unite!  Join us for an exciting GeoWeb
> 2008 Conference!  For more details, please visit
> www.geowebconference.org.
> pièce jointe document plein texte (message-footer.txt)
> --
> You receive this message as a subscriber of the petals-users@... mailing list.
> To unsubscribe: mailto:petals-users-unsubscribe@...
> For general help: mailto:sympa@...?subject=help
> OW2 mailing lists service home page: http://www.ow2.org/wws
--
Roland NAUDIN
PEtALS Team

EBM Websourcing
05 34 32 03 13

Try PEtALS at
http://petals.objectweb.org




--
You receive this message as a subscriber of the petals-users@... mailing list.
To unsubscribe: mailto:petals-users-unsubscribe@...
For general help: mailto:sympa@...?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws

Re: Re: JMS BC - transactions and durable subscribers

by Roland Naudin - EBM WebSourcing :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

BTW, should we create a subject on the forum ;-)

Le jeudi 24 juillet 2008 à 09:51 +0200, Roland Naudin - EBM WebSourcing
a écrit :

> Hello Doarko,
>
> AFAIK, the JMS BC doesn't support transacted sessions for the moment.
>
> But if the component would support transaction, it would certainly be
> for the MEP IN_ONLY. According to the ack of the provider, the
> transaction would be committed or rolled back.
> Another possibily is to propagate the transaction through the PEtALS
> containers. The transaction can be rolled back or committed at any point
> of the flow. The problem about that is that all the components involved
> in the flow MUST handle the transaction in this specific flow context.
> There is no integrated feature in the CDK to handle that, so you have to
> develop your own component for doing that.
>
> If you want to use more complex pattern as consumer, I think that the
> JMS BC must use 2 Topics/queues; one to receive to request and another
> to send back the response/fault.
>
> Fo your last point, i don't understand your point about your durable
> subscriber. Do you mean that you connect the JMS BC to a remote MOM
> provider, and the connection break down?  In this case you will have a
> JMS connection exception raised by the JMS client API, if the JMS BC has
> set a listener of errors on the connection (i don't know if the JMS DB
> does that).
> But even if the exception is logged in the JMS BC, nothing is done for
> the moment. We can think of mecanism inside the JMS BC or outside via
> JMX to stop/(shutdown?) and restart the SUs involved on the JMS
> connection.
>
> Many things are possible!
> Every above points can be discussed.
> I think Adrien would have a cleariest view on the component, but he is
> on vacations until next week.
>
> Regards,
> /Roland
>
> Le mercredi 23 juillet 2008 à 13:23 -0700, Darko Androsevic a écrit :
> > Hi all,
> >
> > I am wondering about features like JMS transactions and durable
> > subscribers using JMSBC.
> >
> > In particular, how can one ensure a reliable JMS delivery using
> > transactions and JMSBC?
> >
> > What message status/exception consumer service should return/set/throw
> > in order to JMSBC and in turn JMS transaction to rollback and cause JMS
> > to redeliver a message?
> > How can one create/re-connect a "durable" subscriber using JMS BC which
> > will guarantee JMS delivery in case a client is temporarily down?
> >
> >
> > Cheers,
> > Darko
> >
> > Be there when GIS and the Web unite!  Join us for an exciting GeoWeb
> > 2008 Conference!  For more details, please visit
> > www.geowebconference.org.
> > pièce jointe document plein texte (message-footer.txt)
> > --
> > You receive this message as a subscriber of the petals-users@... mailing list.
> > To unsubscribe: mailto:petals-users-unsubscribe@...
> > For general help: mailto:sympa@...?subject=help
> > OW2 mailing lists service home page: http://www.ow2.org/wws
> pièce jointe document plein texte (message-footer.txt)
> --
> You receive this message as a subscriber of the petals-users@... mailing list.
> To unsubscribe: mailto:petals-users-unsubscribe@...
> For general help: mailto:sympa@...?subject=help
> OW2 mailing lists service home page: http://www.ow2.org/wws
--
Roland NAUDIN
PEtALS Team

EBM Websourcing
05 34 32 03 13

Try PEtALS at
http://petals.objectweb.org




--
You receive this message as a subscriber of the petals-users@... mailing list.
To unsubscribe: mailto:petals-users-unsubscribe@...
For general help: mailto:sympa@...?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws

RE: Re: JMS BC - transactions and durable subscribers

by Darko Androsevic :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

We just do not want JMS message to be lost if the service is not available temporarily or due to temporarily service failure. That is our basic use case and one of the reasons to use JMS.
Yes, we should create a subject on the forum about this.

I put some comments inline.

Thanks,
Darko  

-----Original Message-----
From: Roland Naudin - EBM WebSourcing [mailto:roland.naudin@...]
Sent: Thursday, July 24, 2008 12:51 AM
To: petals-users@...
Subject: [petals-users] Re: JMS BC - transactions and durable subscribers

Hello Doarko,

AFAIK, the JMS BC doesn't support transacted sessions for the moment.

[Darko]
OK. Good to know.


But if the component would support transaction, it would certainly be for the MEP IN_ONLY.
According to the ack of the provider, the transaction would be committed or rolled back.
Another possibily is to propagate the transaction through the PEtALS containers. The transaction can be rolled back or committed at any point of the flow. The problem about that is that all the components involved in the flow MUST handle the transaction in this specific flow context.
There is no integrated feature in the CDK to handle that, so you have to develop your own component for doing that.

If you want to use more complex pattern as consumer, I think that the JMS BC must use 2 Topics/queues; one to receive to request and another to send back the response/fault.

[Darko]
1. receive message from JMS
One option would be that a consumer service returns "ack" which will force JMS BC to commit transaction or fault (rollback) to JMS BC in case of receiving JMS message. Rollback will force JMS to retry delivery later depending on JMS configuration. However, this does not seem to fit in_only pattern.
2. send message to JMS
When sending message to JMS one would have to think more about transaction boundaries and who controls it. One scenario could be that JMSBC controls it  (essentially one transaction per normalized message) and the other that that service that sends to JMSBC controls it ...
3. This can be also viewed/extended in a broader context of a transaction mechanism within ESB as you mentioned above.





Fo your last point, i don't understand your point about your durable subscriber. Do you mean that you connect the JMS BC to a remote MOM provider, and the connection break down?  In this case you will have a JMS connection exception raised by the JMS client API, if the JMS BC has set a listener of errors on the connection (i don't know if the JMS DB does that).
But even if the exception is logged in the JMS BC, nothing is done for the moment. We can think of mecanism inside the JMS BC or outside via JMX to stop/(shutdown?) and restart the SUs involved on the JMS connection.


[Darko]
If a client to JMS server gets offline or is not available for sometime, a durable JMS subscription should guarantee delivery as soon as a subscriber comes online. This would guarantee that no messages are lost.
So if one has a service that consumes JMS-BC messages and it gets offline and after a while it gets online, we want to ensure that no messages are lost during [offline, online) interval.




Many things are possible!
Every above points can be discussed.
I think Adrien would have a cleariest view on the component, but he is on vacations until next week.

Regards,
/Roland

Le mercredi 23 juillet 2008 à 13:23 -0700, Darko Androsevic a écrit :

> Hi all,
>
> I am wondering about features like JMS transactions and durable
> subscribers using JMSBC.
>
> In particular, how can one ensure a reliable JMS delivery using
> transactions and JMSBC?
>
> What message status/exception consumer service should return/set/throw
> in order to JMSBC and in turn JMS transaction to rollback and cause
> JMS to redeliver a message?
> How can one create/re-connect a "durable" subscriber using JMS BC
> which will guarantee JMS delivery in case a client is temporarily down?
>
>
> Cheers,
> Darko
>
> Be there when GIS and the Web unite!  Join us for an exciting GeoWeb
> 2008 Conference!  For more details, please visit
> www.geowebconference.org.
> pièce jointe document plein texte (message-footer.txt)
> --
> You receive this message as a subscriber of the petals-users@... mailing list.
> To unsubscribe: mailto:petals-users-unsubscribe@...
> For general help: mailto:sympa@...?subject=help
> OW2 mailing lists service home page: http://www.ow2.org/wws
--
Roland NAUDIN
PEtALS Team

EBM Websourcing
05 34 32 03 13

Try PEtALS at
http://petals.objectweb.org




--
You receive this message as a subscriber of the petals-users@... mailing list.
To unsubscribe: mailto:petals-users-unsubscribe@...
For general help: mailto:sympa@...?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws