Discussion:
[openjms-developer] openJMS stops consuming messages
Wei Leng
2005-04-28 08:22:46 UTC
Permalink
In my system, there are 17 PCs running openJMS subscribing to a TOPIC published
by a server via LAN. The system is running 24x7. Two of the subscribers
sometimes will stop to consume messages from the TOPIC without any exception.
Tim Anderson
2005-04-30 13:26:54 UTC
Permalink
What version of OpenJMS are you using, and what connector?
-----Original Message-----
Behalf Of Wei Leng
Sent: Thursday, 28 April 2005 6:23 PM
Subject: [openjms-developer] openJMS stops consuming messages
In my system, there are 17 PCs running openJMS subscribing to
a TOPIC published
by a server via LAN. The system is running 24x7. Two of the
subscribers
sometimes will stop to consume messages from the TOPIC
without any exception.
Wei Leng
2005-05-02 02:41:44 UTC
Permalink
I'm using version 0.7.6.1 and rmi connector.
Tim Anderson
2005-05-05 12:55:59 UTC
Permalink
Probably the client has repeatedly failed to ping the
server and has dropped the connection.

You can verify this by registering an ExceptionListener
with the Connection instance:
connection.setExceptionListener(new ExceptionListener() {
public void onException(JMSException e) {
e.printStackTrace();
}
)};
-----Original Message-----
Behalf Of Wei Leng
Sent: Monday, 2 May 2005 12:42 PM
Subject: [openjms-developer] Re: openJMS stops consuming messages
I'm using version 0.7.6.1 and rmi connector.
-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.
Get your fingers limbered up and give it your best shot. 4
great events, 4 opportunities to win big! Highest score
wins.NEC IT Guy Games. Play to win an NEC 61 plasma display.
Visit http://www.necitguy.com/?r=20
_______________________________________________
https://lists.sourceforge.net/lists/listinfo/openjms-developer
Wei Leng
2005-05-06 02:25:17 UTC
Permalink
The connection has already registered with an ExceptionListener. In fact, there
is no exception thrown when the subscriber becomes deactivated.
Tim Anderson
2005-05-06 04:32:29 UTC
Permalink
Have you tried the tcp connector?
From: Wei Leng
Sent: Friday, 6 May 2005 12:25 PM
Subject: [openjms-developer] Re: openJMS stops consuming messages
The connection has already registered with an
ExceptionListener. In fact, there
is no exception thrown when the subscriber becomes deactivated.
-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.
Get your fingers limbered up and give it your best shot. 4
great events, 4 opportunities to win big! Highest score
wins.NEC IT Guy Games. Play to win an NEC 61 plasma display.
Visit http://www.necitguy.com/?r=20
_______________________________________________
https://lists.sourceforge.net/lists/listinfo/openjms-developer
Wei Leng
2005-05-09 05:46:14 UTC
Permalink
Currently I'm not able to try on using tcp connectors as I'll have to edit the
config file to add in the tcp configuration and restart the openJMS server. My
client will not approve this since the system is running 24x7.

Is there anyway that we can be able to detect if a subscriber has been
deactivated? also, is there any command to activate a subscriber via java code?
Tim Anderson
2005-05-12 12:11:46 UTC
Permalink
Unfortunately no. Looking at the 0.7.6 code, if the server fails
to contact the client it cleans up the session, but in a least
2 cases won't clean up the connection and therefore ExceptionListener
Notifications won't occur.
Using the RMI connector, the server can fail to to contact
the client under heavy load and assume that the connection has
been lost. Using the TCP connector, this won't happen.
In 0.7.7, the server cleans up all resources associated with
a client when the client disconnects, and the client also
gets notified via any registered ExceptionListener.

In your case, the only options you have as far as I can tell
are to:
. try using synchronous consumers. You will get a JMSException
if the receive() fails.
. change to the tcp connector
. periodically close your sessions and re-register the asynchronous
consumers
-----Original Message-----
Behalf Of Wei Leng
Sent: Monday, 9 May 2005 3:46 PM
Subject: [openjms-developer] Re: openJMS stops consuming messages
Currently I'm not able to try on using tcp connectors as I'll
have to edit the
config file to add in the tcp configuration and restart the
openJMS server. My
client will not approve this since the system is running 24x7.
Is there anyway that we can be able to detect if a subscriber
has been
deactivated? also, is there any command to activate a
subscriber via java code?
-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.
Get your fingers limbered up and give it your best shot. 4
great events, 4 opportunities to win big! Highest score
wins.NEC IT Guy Games. Play to win an NEC 61 plasma display.
Visit http://www.necitguy.com/?r=20
_______________________________________________
https://lists.sourceforge.net/lists/listinfo/openjms-developer
Wei Leng
2005-05-13 03:38:00 UTC
Permalink
In fact, the 3rd option has been implemented where every midnite all consumers
will be re-registered and sessions will be re-created.

Changing the connectors to tcp is quite unlikely due to the time constraint for
re-testing. Yet, your explanation on the usage of different connectors is very
much appreciated. Also, in a way, does it mean that tcp is better than rmi? and
why this won't happen to tcp?

Two more questions, does it mean that if I use 0.7.7, the exceptionlistener
will be notified even using rmi connectors? As far as I know, 0.7.7 is still a
dev version, is it recommended to be deployed at this moment?

Loading...