cancel
Showing results for 
Search instead for 
Did you mean: 

JMS non-durable subscribers persists after end of JMS session

Former Member
0 Kudos

Hi all,

I have created some durable and non-durable JMS topic subscribers in code. Now i just want to know, if there is some tool, where i can manage them - for example destroy durable subscriber, which wasn't unsubscribed in the code.

I realized in another JMS (in JDBC based JMS system - Oracle AQ), that my non-durable subscribers persists after the end of their JMS session... I used these methods:

subscriber.close();

session.close();

connection.close();

I want to check their status in SAP WAS JMS system, (I can destroy them by DB script in Oracle AQ) and I don't know how.

Thanks for any answer.

Best regards,

Juraj Sedik

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Juraj,

The difference between durable and nondurable subscribers is that the second ones do NOT persist after the end of their subscription. Direct quote from the JMS specification :

<i>"Nondurable subscriptions last for the lifetime of their subscriber object."</i>

So any of these methods quoted by you should cause the non-durable subscriptions to be removed.

I am not sure why the Oracle AQ is not doing this, but the SAP WAS JMS does. That can be seen easily from the server monitoring.

There are some different versions of the SAP WAS (Netweaver 2004, 2004s, etc.) and you have posted this in the forum "Netweaver AS, General", can you clarify for the monitoring of which version you are interested in and I will post description how this can be achieved.

Best Regards

Peter

Former Member
0 Kudos

Hi Peter,

thanks for your answer.

I'm using SAP WAS SP17 from NetWeaver 2004.

Best Regards,

Juraj Sedik

Former Member
0 Kudos

Hi,

The fastest way would be to check via the telnet administration.

Log in, then execute the following commands

jump 0

add jms

jms list consumers (to see the non-durable)

jms list subscriptions (for the existing durable subscriptions)

The login is possible via MMC or by typing

telnet localhost 50008.

Here 50008 is the telnet port of the server.

HTH

Peter

Answers (0)