Uploaded image for project: 'TorqueBox'
  1. TorqueBox
  2. TORQUE-1189

TorqueBox.fetch behaves inconsistently for built in DLQ / Expiry Queue

    Details

      Description

      TorqueBox.fetch is described in the documentation as the correct way to obtain all resources in TorqueBox post 3.0.0, but it fails in some cases where the expected behaviour is success.

      Given I have a torquebox YAML file defining two queues:

      queues:
        /queues/deferred_events:
        DLQ:
      

      where DLQ is the system standard dead letter queue defined in $TORQUEBOX_HOME/standalone/configuration/standalone.xml

      The following code demonstrates aberrant behaviour:

      TorqueBox.fetch('/queues/deferred_events') # passes
      TorqueBox.fetch('DLQ') # fails with an error
      

      The failure message above is

      Injected service failed to start - service jboss.deployment.unit."app-knob.yml".jboss.naming.context.java.queue.DLQ.manager.live

      However, the following code works:

      TorqueBox::Messaging::Queue.new('/queues/deferred_events') # passes
      TorqueBox::Messaging::Queue.new('DLQ') # passes
      

      This is nonsensical - if I can fetch one queue with TorqueBox.fetch I should be able to fetch all queues with it, DLQ and Expiry Queue included. The documentation does state that destinations are expected to begin with /queue or /topic, but given that TorqueBox::Messaging::Queue.new('DLQ') functions and generates a working queue reference, TorqueBox.fetch('DLQ') should also do so for consistency.

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                benbrowning Ben Browning
                Reporter:
                mcfinnnigan_jboss Jeremy Botha
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: