3 Replies Latest reply on Mar 24, 2009 12:00 PM by jmesnil

    management notifications for JBM2

    jmesnil

      I'm adding notifications to JBM2 trunk.
      Currently we have:

      BINDING_ADDED / BINDING_REMOVED -> when queues (or diverts) are created/deleted
      SECURITY_AUTHENTICATION_VIOLATION -> when user authentication fails
      SECURITY_PERMISSION_VIOLATION -> when user has not the required permission
      CONSUMER_CREATED / CONSUMER_CLOSED

      for CONSUMER_CREATED / CONSUMER_CLOSED, I'm adding to the notifications the consumer count for the given queue. Using this in a filter, we can be notified when e.g. there is no consumer on the queue.

      What is missing is notifications when producers are created/closed since the producer concept is on the client side and the sessions is handling the messages sent by the clients on the server side.
      However it'd be interesting to be notified when someone starts/stops producing on an address

      I'm planning to add a few more notifications:

      PAGING_STARTED / PAGING_STOPPPED -> when paging is activated
      NODE_ACTIVATED -> when a backup node is activated and becomes the live node.

      After that, there are other notifications that I could add but they are lower priority:

      1/ notifications for start/stop of some messaging component:
      - ACCEPTOR_STARTED / ACCEPTOR_STOPPED
      - BRIDGE_STARTED / BRIDGE_STOPPED
      - BROADCAST_GROUP_STARTED / BROADCAST_GROUP_STOPPED
      - CLUSTER_CONNECTION_STARTED / CLUSTER_CONNECTION_STOPPED
      - DISCOVERY_GROUP_STARTED / DISCOVERY_GROUP_STOPPED

      2/ I was also thinking to add notifications when messages are expired/moved to the dead letter address but I'm not sure these notifications should be enabled by default (they can potentially generate a lot of notifications):
      EXPIRED_MESSAGE -> when a message is expired
      MOVED_TO_DEAD_LETTER_ADDRESS -> when a message is moved to the DLA

      Do you guys have other ideas of interesting notifications?

      When I've finished with the core notifications, I'll add JMS notifications for resources created by the JMSServerManager:
      QUEUE_CREATED / QUEUE_DESTROYED
      TOPIC_CREATED / TOPIC_DESTROYED
      CONNECTION_FACTORY_CREATED / CONNECTION_FACTORY_DESTROYED



        • 1. Re: management notifications for JBM2
          timfox

           

          "jmesnil" wrote:
          I'm adding notifications to JBM2 trunk.
          Currently we have:

          BINDING_ADDED / BINDING_REMOVED -> when queues (or diverts) are created/deleted
          SECURITY_AUTHENTICATION_VIOLATION -> when user authentication fails
          SECURITY_PERMISSION_VIOLATION -> when user has not the required permission
          CONSUMER_CREATED / CONSUMER_CLOSED

          for CONSUMER_CREATED / CONSUMER_CLOSED, I'm adding to the notifications the consumer count for the given queue. Using this in a filter, we can be notified when e.g. there is no consumer on the queue.

          What is missing is notifications when producers are created/closed since the producer concept is on the client side and the sessions is handling the messages sent by the clients on the server side.
          However it'd be interesting to be notified when someone starts/stops producing on an address

          I'm planning to add a few more notifications:

          PAGING_STARTED / PAGING_STOPPPED -> when paging is activated
          NODE_ACTIVATED -> when a backup node is activated and becomes the live node.

          After that, there are other notifications that I could add but they are lower priority:


          For beta, let's just do the first ones. The lower priority ones can happen some time later.

          • 2. Re: management notifications for JBM2
            jmesnil

             

            "timfox" wrote:


            For beta, let's just do the first ones. The lower priority ones can happen some time later.


            ok: https://jira.jboss.org/jira/browse/JBMESSAGING-1556

            • 3. Re: management notifications for JBM2
              jmesnil

               

              "jmesnil" wrote:

              NODE_ACTIVATED -> when a backup node is activated and becomes the live node.


              On 2nd thought, this one does not make any sense.
              To be notified of the backup node activation, we'd need first to create a session to receive notifications which would activate the node!

              This also means that we must never connect to a backup node to receive its notifications since it'd activate it, creating an artificial split-brain.