Uploaded image for project: 'JBoss Enterprise Application Platform 4 and 5'
  1. JBoss Enterprise Application Platform 4 and 5
  2. JBPAPP-8017

non-durable subscribers aren't removed when the server is killed

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • TBD EAP 5
    • EAP_EWP 5.1.2
    • HornetQ
    • JBoss-EAP-5.1.2, HornetQ-2.2.10

    • Hide
      • Set up two JBoss-EAP-5.1.2 servers with HornetQ. Let's call ServerA and ServerB
      • Configure ServerA's RAR (ra.xml) to listen to ServerB
      • Configure a Message Driven Bean to listen to a non-existing Topic and deploy it on ServerA
      • The MDB would create a temporary destination (Topic) on ServerB
      • Kill ServerA with kill -9 <pid>
      • ServerA gets and its connections are removed but not the temporary destination associated with the cleaned up Connection.
      Show
      Set up two JBoss-EAP-5.1.2 servers with HornetQ. Let's call ServerA and ServerB Configure ServerA's RAR (ra.xml) to listen to ServerB Configure a Message Driven Bean to listen to a non-existing Topic and deploy it on ServerA The MDB would create a temporary destination (Topic) on ServerB Kill ServerA with kill -9 <pid> ServerA gets and its connections are removed but not the temporary destination associated with the cleaned up Connection.
    • Release Notes, Compatibility/Configuration
    • Not Required
    • NEW

      HornetQ won't remove temporary destination when their corresponding connections are cleaned up.

      This is what the JMS 1.1 Spec says :
      4.4.3 Creating Temporary Destinations
      Although sessions are used to create temporary destinations, this is only for convenience. Their scope is actually the entire connection. Their lifetime is that of their connection, and any of the connection's sessions is allowed to create a MessageConsumer for them.

      Temporary destinations (TemporaryQueue or TemporaryTopic objects) are destinations that are system-generated uniquely for their connection. Only their own connection is allowed to create MessageConsumers for them.

      One typical use for a temporary destination is as the JMSReplyTo destination for service requests.

      Each TemporaryQueue or TemporaryTopic object is unique. It cannot be copied.

      Since temporary destinations may allocate resources outside the JVM, they should be deleted if they are no longer needed. They will be automatically deleted when they are garbage collected or when their connection is closed.

              csuconic@redhat.com Clebert Suconic
              rhn-support-tywickra Tyronne Wickramarathne
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: