dev@genericjmsra.java.net

Re: [Issue 24] New - Reconnect does not happen when the endpoint release throws exception

From: Binod <Binod.Pg_at_Sun.COM>
Date: Fri, 19 May 2006 11:23:11 +0530

rampsarathy_at_dev.java.net wrote:

>https://genericjmsra.dev.java.net/issues/show_bug.cgi?id=24
> Issue #|24
> Summary|Reconnect does not happen when the endpoint release th
> |rows exception
> Component|genericjmsra
> Version|v1.6
> Platform|All
> OS/Version|All
> URL|
> Status|NEW
> Status whiteboard|
> Keywords|
> Resolution|
> Issue type|DEFECT
> Priority|P3
> Subcomponent|core
> Assigned to|rampsarathy
> Reported by|rampsarathy
>
>
>
>
>
>
>------- Additional comments from rampsarathy_at_dev.java.net Fri May 19 04:45:17 +0000 2006 -------
>When a connection with the broker fails the generic ra tries to reconnect to the
>broker ( if configured in the activation spec). During this time, the ra tries
>to release the endpoint ( stop the pool) before reconnecting to the broker. If
>the release endpoint ( which inturn calls afterDelivery() on the enpoint) fails
>then the reconnect does not happen. There are 2 issues here
>
>1. There is a timeout in the inbound resource pool to release all the resources
>in the pool, but there is no timeout for releasing a single resource. So ideally
>the total pool release timeout should be divided across the resources in the
>pool ( simplest solution of course).
>
>2. If releasing one of the resources in the pool causes an exception, ( which is
>not handled now) then the other resources are not released properly. This
>indirectly affects the reconnection feature in the following way. When an
>existing MQ connection throws an exception then the ReconnectHelper in the RA
>tries to reconnect to the broker, before doing this the jms resource pool is
>stopped and reinitialized, and if there is an exception while stopping the pool
>( which is dependendent on releasing the endpoint) then the pool does not get
>re-initialized and the reconnection does not happen. So, the exceptions need to
>be handled appropriately.
>
>
Is there a workaround? For example, would disabling and enabling the
MDB help? Even if disabling takes 3 minutes, will it eventually start
consuming?

- Binod.

>This issue can can be reproduced by installing a broker on a remote machine and
>the app server and ra on one machine and then causing a network outage when the
>messages are in transit.
>
>