4 Replies Latest reply on Mar 1, 2005 10:44 AM by Patrick Scharrenberg

    JBoss changes clientid of durable subscribers

    Patrick Scharrenberg Newbie


      I have bunch of clients using a stateless sessionbean to fetch messages from a topic using durable subscribers. For all subscribtions the same clientid-string is set and they get a unique name to distinguish from each other.

      With low traffic this works fine, but with about 20 clients fetching permanently, after a few seconds JBoss starts to use incrementing numbers as clientid instead of my static string.

      I get the following output in server.log, but without any exception before:

      2005-01-24 10:23:28,470 DEBUG [org.jboss.mq.sm.jdbc.JDBCStateManager] Checking durable subscription: DurableSubscription[clientId=ID:37 name=lasttest15 selector=null], on topic: TOPIC.chatserver.chattopic.DurableSubscription[clientId=ID:37 name=lasttest15 selector=null]
      2005-01-24 10:23:28,482 DEBUG [org.jboss.mq.sm.jdbc.JDBCStateManager] The subscription was not previously registered.
      2005-01-24 10:23:28,482 DEBUG [org.jboss.mq.pm.jdbc2.PersistenceManager] Restored 0 message(s) to: TOPIC.chatserver.chattopic.DurableSubscription[clientId=ID:37 name=lasttest15 selector=null]

      Each sessionbean creates its TopicConnection, sets the ClientID and holds this connection open until the bean is closed. When a subscribtion is checked a new session is opened and closed again afterwards.
      When working under heavy load, about 20 SessionBeans are created.

      I tried to directly use JMS from the clients without using the sessionbeans and all worked fine.

      So, why does JBoss use different clientID's than I told him to use?

      Has it maybe something to with the Bug reported here: