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

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Done
    • EAP_EWP 5.1.2
    • TBD EAP 5
    • 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

    Description

      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.

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: