Uploaded image for project: 'AMQ Broker'
  1. AMQ Broker
  2. ENTMQBR-3563

ARTEMIS-2327 violates JMS specification

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • AMQ 7.6.0.GA
    • broker-core, core-protocol
    • None

      The change from ARTEMIS-2327 introduced a behavior which violates the JMS specification with regards to how the onException method of ExceptionListener is triggered. In short, an exception can now be thrown twice - once to the caller of the JMS method and once to the ExceptionListener. This is explicitly prohibited by the JMS specification.

      Section 4.3.8 of the JMS 1.1 specification and 6.1.7 of the JMS 2 specification states:

      The exceptions delivered to ExceptionListener are those that have no other place to be reported. If an exception is thrown on a JMS call it, by definition, must not be delivered to an ExceptionListener (in other words, ExceptionListener is not for the purpose of monitoring all exceptions thrown by a connection). [emphasis mine]

      To be clear, this information is not in the JavaDoc. It is only in the specification itself.

              rhn-support-jbertram Justin Bertram
              rhn-support-toross Tom Ross
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated: