Hello,
i'm trying to activate JAAS based authentication in ActiveMQ. When i start
my ActiveMQ Server which has a Camel context for some routes i get the
following exception. How do i specify the user for accessing the queues
inside my RouteBuilder ?
java.lang.SecurityException: User name or password is invalid.
at
org.apache.activemq.security.JaasAuthenticationBroker.addConnection(JaasAuthenticationBroker.java:83)
at
org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:81)
at
org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:88)
at
org.apache.activemq.broker.TransportConnection.processAddConnection(TransportConnection.java:662)
at
org.apache.activemq.broker.jmx.ManagedTransportConnection.processAddConnection(ManagedTransportConnection.jav
a:86)
at
org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:125)
at
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:292)
at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:180)
at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
at
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:143)
at
org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:206)
at
org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)
at
org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:196)
at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:183)
at java.lang.Thread.run(Thread.java:619)
Caused by: javax.security.auth.login.LoginException:
java.lang.NullPointerException
My activemq.xml looks like
<beans>
...
<broker xmlns="http://activemq.apache.org/schema/core"
brokerName="localhost">
<plugins>
<jaasAuthenticationPlugin configuration="activemq-domain" />
<authorizationPlugin>
<map>
<authorizationMap>
<authorizationEntries>
<authorizationEntry queue=">" read="admins" write="admins"
admin="admins" />
<authorizationEntry queue="A" read="users" write="users"
admin="users" />
<authorizationEntry queue="B" read="users" write="users"
admin="users" />
<authorizationEntry queue="C" read="users" write="users"
admin="users" />
<authorizationEntry queue="D" read="users" write="users"
admin="users" />
<authorizationEntry topic="ActiveMQ.Advisory.>"
read="guests,users" write="guests,users" admin="guests,users"/>
</authorizationEntries>
</authorizationMap>
</map>
</authorizationPlugin>
</plugins>
<managementContext>
<managementContext createConnector="false"/>
</managementContext>
<persistenceAdapter>
<journaledJDBC dataDirectory="${activemq.base}/data"/> <!--
Derby -->
</persistenceAdapter>
<transportConnectors>
<transportConnector name="tcp" uri="tcp://localhost:61616"/>
</transportConnectors>
</broker>
<component-scan base-package="elub751"/>
<camelContext id="camel"
xmlns="http://activemq.apache.org/camel/schema/spring">
<package>elub751</package>
</camelContext>
</beans>
My routes are defined in package elub751 as follows:
package elub751;
...
public class ServerRoutes extends RouteBuilder {
...
public void configure() throws Exception {
from("activemq:A").choice()
.when(body().matchesRegex(patternB)).process(processorB).to("activemq:B")
.when(body().matchesRegex(patternC)).process(prozessorC).to("activemq:C")
.otherwise().to("activemq:D");
}
--
View this message in context:
http://www.nabble.com/Routes-and-Authentification-tp19085136s22882p19085136.html
Sent from the Camel - Users mailing list archive at Nabble.com.