Uploaded image for project: 'ActiveMQ Classic'
  1. ActiveMQ Classic
  2. AMQ-4676

ActiveMQ not compliant with JSR-250 (@PostConstruct, @PreDestroy)

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 5.8.0
    • 5.9.0
    • Broker, Camel, STOMP
    • None
    • Patch Available

    Description

      ActiveMQ is not compliant with JSR-250, which states:
      2.5 javax.annotation.PostConstruct:
      [...]

      • The method MUST NOT throw a checked exception.
      • If the method throws an unchecked exception the class MUST NOT be put into
        service. In the case of EJBs the method annotated with PostConstruct can
        handle exceptions and cleanup before the bean instance is discarded.

      2.6 javax.annotation.PreDestroy
      (same as above)

      An exception was thrown when attempting to deploy an application using the activemq-rar-5.8 on GF 4.0, but I believe it's safe to say that this can occur in different containers - if not now, potentially between container releases.

      Included are patches that fix this in all ActiveMQ components. Most check exceptions thrown were Exception, which was changed to RuntimeException (trapped and wrapped). There were also IOExceptions being thrown, in which case ActiveMQ-broker now has an IORuntimeException class that is thrown. Any downstream catches that handled the check exceptions have been converted to catch the RuntimeExceptions.

      This was also reported under AMQ-4673, but the scope of that issue was a lot more limited.

      Attachments

        1. activemq-stomp_AMQ-4676v2.diff
          1 kB
          Steve Siebert
        2. activemq-spring_AMQ-4676v2.diff
          15 kB
          Steve Siebert
        3. activemq-camel_AMQ-4676v2.diff
          2 kB
          Steve Siebert
        4. activemq-broker_AMQ-4676v2.diff
          6 kB
          Steve Siebert

        Issue Links

          Activity

            People

              Unassigned Unassigned
              smsiebe Steve Siebert
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: