1 Reply Latest reply on Dec 26, 2012 3:00 AM by ohmygod

    Hornetq error - Cannot create a subscriber on the durable subscription since it already has subscriber(s)

    ohmygod

      Sometimes my project reports below errors. Does anybody have an idea what it is about? Is it related to some MDB configuration or a bug of hornetQ? Many thanks in advance.

       

      2012-12-26 14:02:54,062;[default-short-running-threads-threads - 29];INFO ;org.hornetq.ra.inflow.HornetQActivation;Attempting to reconnect org.hornetq.ra.inflow.HornetQActivationSpec(ra=org.hornetq.ra.HornetQResourceAdapter@7e1b9c8c destination=topic/com.demo.cxe.jms.ForTeamSiteTargetAdapter destinationType=javax.jms.Topic ack=Auto-acknowledge durable=true clientID=TeamSiteTargetAdapterMDB user=null maxSession=15)
      2012-12-26 14:02:54,062;[default-short-running-threads-threads - 28];INFO ;org.hornetq.ra.inflow.HornetQActivation;Attempting to reconnect org.hornetq.ra.inflow.HornetQActivationSpec(ra=org.hornetq.ra.HornetQResourceAdapter@7e1b9c8c destination=topic/com.demo.cxe.jms.ForQuarkFrameTargetAdapter destinationType=javax.jms.Topic ack=Auto-acknowledge durable=true clientID=QuarkFrameTargetAdapterMDB user=null maxSession=15)
      2012-12-26 14:02:54,062;[default-short-running-threads-threads - 20];INFO ;org.hornetq.ra.inflow.HornetQActivation;Attempting to reconnect org.hornetq.ra.inflow.HornetQActivationSpec(ra=org.hornetq.ra.HornetQResourceAdapter@7e1b9c8c destination=topic/com.demo.cxe.jms.ForQuarkFrameSourceAdapter destinationType=javax.jms.Topic ack=Auto-acknowledge durable=true clientID=QuarkFrameSourceAdapterMDB user=null maxSession=15)
      2012-12-26 14:02:54,062;[default-short-running-threads-threads - 5];INFO ;org.hornetq.ra.inflow.HornetQActivation;Attempting to reconnect org.hornetq.ra.inflow.HornetQActivationSpec(ra=org.hornetq.ra.HornetQResourceAdapter@7e1b9c8c destination=topic/com.demo.cxe.jms.ForMsOfficeTargetAdapter destinationType=javax.jms.Topic ack=Auto-acknowledge durable=true clientID=MsOfficeTargetAdapterMDB user=null maxSession=15)
      2012-12-26 14:02:54,062;[default-short-running-threads-threads - 50];INFO ;org.hornetq.ra.inflow.HornetQActivation;Attempting to reconnect org.hornetq.ra.inflow.HornetQActivationSpec(ra=org.hornetq.ra.HornetQResourceAdapter@7e1b9c8c destination=topic/com.demo.cxe.jms.ForPassoloSourceAdapter destinationType=javax.jms.Topic ack=Auto-acknowledge durable=true clientID=PassoloSourceAdapterMDB user=null maxSession=15)
      2012-12-26 14:02:54,062;[default-short-running-threads-threads - 20];ERROR;org.hornetq.ra.inflow.HornetQActivation;Unable to reconnect org.hornetq.ra.inflow.HornetQActivationSpec(ra=org.hornetq.ra.HornetQResourceAdapter@7e1b9c8c destination=topic/com.demo.cxe.jms.ForQuarkFrameSourceAdapter destinationType=javax.jms.Topic ack=Auto-acknowledge durable=true clientID=QuarkFrameSourceAdapterMDB user=null maxSession=15): javax.jms.IllegalStateException: Cannot create a subscriber on the durable subscription since it already has subscriber(s)
                at org.hornetq.ra.inflow.HornetQMessageHandler.setup(HornetQMessageHandler.java:130)
                at org.hornetq.ra.inflow.HornetQActivation.setup(HornetQActivation.java:296)
                at org.hornetq.ra.inflow.HornetQActivation.handleFailure(HornetQActivation.java:566)
                at org.hornetq.ra.inflow.HornetQActivation$SetupActivation.run(HornetQActivation.java:609)
                at org.jboss.jca.core.workmanager.WorkWrapper.run(WorkWrapper.java:212)
                at org.jboss.threads.SimpleDirectExecutor.execute(SimpleDirectExecutor.java:33)
                at org.jboss.threads.QueueExecutor.runTask(QueueExecutor.java:801)
                at org.jboss.threads.QueueExecutor.access$100(QueueExecutor.java:45)
                at org.jboss.threads.QueueExecutor$Worker.run(QueueExecutor.java:842)
                at java.lang.Thread.run(Thread.java:722)
                at org.jboss.threads.JBossThread.run(JBossThread.java:122)
      
      
      2012-12-26 14:02:54,062;[default-short-running-threads-threads - 28];ERROR;org.hornetq.ra.inflow.HornetQActivation;Unable to reconnect org.hornetq.ra.inflow.HornetQActivationSpec(ra=org.hornetq.ra.HornetQResourceAdapter@7e1b9c8c destination=topic/com.demo.cxe.jms.ForQuarkFrameTargetAdapter destinationType=javax.jms.Topic ack=Auto-acknowledge durable=true clientID=QuarkFrameTargetAdapterMDB user=null maxSession=15): javax.jms.IllegalStateException: Cannot create a subscriber on the durable subscription since it already has subscriber(s)
                at org.hornetq.ra.inflow.HornetQMessageHandler.setup(HornetQMessageHandler.java:130)
                at org.hornetq.ra.inflow.HornetQActivation.setup(HornetQActivation.java:296)
                at org.hornetq.ra.inflow.HornetQActivation.handleFailure(HornetQActivation.java:566)
                at org.hornetq.ra.inflow.HornetQActivation$SetupActivation.run(HornetQActivation.java:609)
                at org.jboss.jca.core.workmanager.WorkWrapper.run(WorkWrapper.java:212)
                at org.jboss.threads.SimpleDirectExecutor.execute(SimpleDirectExecutor.java:33)
                at org.jboss.threads.QueueExecutor.runTask(QueueExecutor.java:801)
                at org.jboss.threads.QueueExecutor.access$100(QueueExecutor.java:45)
                at org.jboss.threads.QueueExecutor$Worker.run(QueueExecutor.java:842)
                at java.lang.Thread.run(Thread.java:722)
                at org.jboss.threads.JBossThread.run(JBossThread.java:122)
      
      
        • 1. Re: Hornetq error - Cannot create a subscriber on the durable subscription since it already has subscriber(s)
          ohmygod

          Is there a standalone configuration for a mdb to get well used to hornetq? My annotation is as below.

           

           

          @MessageDriven(messageListenerInterface = MessageListener.class, activationConfig =
          {
                  @ActivationConfigProperty(propertyName = "destination", propertyValue = EventTopicMap.TOPIC_PREFIX_JBOSS
                          + EventTopicMap.JMS_PREFIX + EventTopicMap.FOR_EXTRACTOR),
                  @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Topic"),
                  @ActivationConfigProperty(propertyName = "clientID", propertyValue = "ExtractMDB"),
                  @ActivationConfigProperty(propertyName = "subscriptionDurability", propertyValue = "Durable") })
          @TransactionManagement(value = TransactionManagementType.CONTAINER)
          
          

           

          and

           

          @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
          

           

          for onMessage() method.

           

          Please advise.