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

Some JMX operations fail with SecurityException with secured broker

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments


    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 5.3.0
    • Fix Version/s: 5.6.0, 5.7.0
    • Component/s: Broker
    • Labels:
    • Environment:

      I've reproduced this on OS X and Linux


      I've started a secured broker using the sample configuration as follows:

      ./activemq xbean:file:../conf/activemq-security.xml

      After the broker was started, I used the example ProducerTool to put 2000 messages on the TEST.FOO queue. For this to work, I modified the ProducerTool to use username/password as follows:

      private String user = "system";
      private String password = "manager";

      I then connected to the broker using jconsole, and created a new queue using the Broker's addQueue MBean operation. As a test, I also used the TEST.FOO queue's removeMessage MBean operation to remove a message from the queue.

      The problem is that certain MBean operations fail with "Problem invoking moveMessageTo : java.lang.SecurityException: User is not authenticated." I have seen this with a queue's sendTextMessage and moveMessageTo operations.

      The full exception as logged by the broker for the failed sendTextMessage operation is:

      WARN | Failed to add Connection
      java.lang.SecurityException: User name or password is invalid.
      at org.apache.activemq.security.SimpleAuthenticationBroker.addConnection(SimpleAuthenticationBroker.java:52)
      at org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:82)
      at org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:89)
      at org.apache.activemq.broker.TransportConnection.processAddConnection(TransportConnection.java:666)
      at org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:134)
      at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:297)
      at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:175)
      at org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:109)
      at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
      at org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:205)
      at org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:98)
      at org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:36)

      This seems similar to AMQ-2516. I've tried this using the 5.3.1 and 5.4 SNAPSHOTs and see the same thing.




            • Assignee:
              phil.pickett@springsource.com Phil Pickett


              • Created:

                Issue deployment