2 Replies Latest reply on Jun 19, 2009 1:18 PM by Prabjot Singh

    DurableTopicSubscriptions Creation in JBoss AS5

    Prabjot Singh Newbie

      Hi,

      As in jboss 3.x, the jms provider was jbossmq and we define the DurableTopicSubscriptions in the file conf/jbossmq-state.xml;
      if I want to do the same in JBoss AS5 what should the steps?

      I also want to create users that can access the topics, so what should I do for the same as well ?

      I am using mssql for jms persistance.

      Any help is really Appreciated.

      Thanks,
      Prabjot

        • 2. Re: DurableTopicSubscriptions Creation in JBoss AS5
          Prabjot Singh Newbie

           

          "gaohoward" wrote:
          http://www.jboss.org/file-access/default/members/jbossmessaging/freezone/docs/userguide-1.4.3.GA/html_single/index.html


          Hi,

          There is a configuration file jbossmq-state.xml which is present in the JBOSS version 3.x and up. The entries are basically the user and their roles along with the client id's.

          However, in the latest JBOSS version 5, this file is not there and so we need to map the entries in the jbossmq-state.xml in some way in JBOSS 5.0 as well.

          I did figure out that the latest version has messaging directory, which has a -persistence-service.xml file, and in our case it is mssql-persistence-service.xml.

          In this file you can specify the insert queries for inserting the users, roles and their client ids into the messaging related tables like JBM_USER and JBM_ROLE. Now, when you start the JBOSS server, these tables gets created and the data is inserted into them.

          However, when I start the JBOSS server and start my client, I recieve the following error:

          Here it complains of having the existing client id as '000' in the jbm_user table

          javax.jms.IllegalStateException: Cannot set clientID, already set as 000
          at org.jboss.jms.server.endpoint.ServerConnectionEndpoint.setClientID(ServerConnectionEndpoint.java:316)
          at org.jboss.jms.server.endpoint.advised.ConnectionAdvised.org$jboss$jms$server$endpoint$advised$ConnectionAdvised$setClientID$aop(ConnectionAdvised.java:85)
          at org.jboss.jms.server.endpoint.advised.ConnectionAdvised$setClientID_N1479100880614063379.invokeTarget(ConnectionAdvised$setClientID_N1479100880614063379.java)
          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111)
          at org.jboss.jms.server.container.ServerLogInterceptor.invoke(ServerLogInterceptor.java:105)
          at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
          at org.jboss.jms.server.endpoint.advised.ConnectionAdvised.setClientID(ConnectionAdvised.java)
          at org.jboss.jms.wireformat.ConnectionSetClientIDRequest.serverInvoke(ConnectionSetClientIDRequest.java:73)
          at org.jboss.jms.server.remoting.JMSServerInvocationHandler.invoke(JMSServerInvocationHandler.java:143)
          at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:908)
          at org.jboss.remoting.transport.socket.ServerThread.completeInvocation(ServerThread.java:742)
          at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:695)
          at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:549)
          at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:230)

          Any help would be appreciated.