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

SecurityException raised when broker tries to move expired message to DLQ


    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 5.3.0
    • Fix Version/s: 5.3.1, 5.4.0
    • Component/s: Broker
    • Labels:
    • Environment:

      Windows XP SP2
      Java JRE 1.6

      Issue found on both FUSE Message Broker & (based on Apache ActiveMQ 5.3)


      I have enabled authentication + authorization in my broker configuration file as follows:

      <jaasAuthenticationPlugin configuration="PropertiesLogin" />

      <authorizationEntry queue=">" read="users" write="users" admin="users"/>
      <authorizationEntry topic="ActiveMQ.Advisory.>" read="users" write="users" admin="users"/>

      If I send a message with a TTL into the queue (using provided sample configured with the right username and password) and then try to look after the message in the queue after it has expired using the Web Console, I got the following exception:

      "Caught an exception sending to DLQ: Message ID:PC198829-1539-1259168148838-0:1:1:1:1 dropped=false locked=false
      java.lang.SecurityException: User is not authenticated."

      This only occurs when the broker has to deal with the DLQ as I can successfully read/write in any queue.

      It seems that the thread responsible for moving the message into the DLQ doesn't have the right to perform this action (username and password not propagated to its connexion context ? ).


        1. activemq_configuration.zip
          4 kB
          Concombre Masqué
        2. activemq.log
          411 kB
          Concombre Masqué
        3. jmsproducer_sample.zip
          1 kB
          Concombre Masqué



            • Assignee:
              gtully Gary Tully
              nsaboy Concombre Masqué
            • Votes:
              0 Vote for this issue
              2 Start watching this issue


              • Created: