1 Reply Latest reply on Jan 9, 2017 5:05 AM by mnovak

    Publishing to JMS Topic in Wildfly 10.1.0

    sverker.sverker.abrahamsson.com

      Did something change on this between 10.0.0 and 10.1.0? I have an application where I in the backend from a Stateless SessionBean publish events that were received as CDI events to a JMS Topic, which is consumed in the web layer to update the frontend. This worked fine earlier but after upgrading to 10.1.0 it seems that the messages aren't even published to the topic as all metrics in console are zero:

       

      Topic Metrics

      Delivering Count0
      Durable Message Count0
      Durable Subscription Count0
      Message Count0
      Messages Added0
      Subscription Count0

       

      The code of the publisher looks like this:

      @Inject

      private JMSContext jmsContext;

       

      @Resource(lookup="java:/jms/topic/IngesterEventTopic")

      private Topic ingesterEventTopic;

       

      @Asynchronous

      @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)

      public void publishEventToTopic(@Observes(during = TransactionPhase.AFTER_COMPLETION) IngestNotificationEvent event) {

          try {

              logger.debug("Publishing event to topic: {}", event.toString());

              JMSProducer producer = jmsContext.createProducer();

              producer.send(ingesterEventTopic, event);

          } catch(Throwable t) {

              logger.error(t.getMessage(), t);

          }

      }

       

      The publisher do receive the CDI event but does not throw any error.

        • 1. Re: Publishing to JMS Topic in Wildfly 10.1.0
          mnovak

          Hi Sverker,

           

          could you check if there are any topic subscribers on IngesterEventTopic in CLI? - command should like:

          /subsystem=messaging-activemq/server=default/jms-topic=IngesterEventTopic:list-all-subscriptions
          

           

          The thing is that if you send message topic without any subscription then this message is dropped as there is no one to whom it could be delivered at the moment. This is difference from jms queue which stores all messages even if there is no consumer. Topic without subscriber just drops them.

           

          Thanks,

          Mirek