Still not resolved but I left out an important piece: In the activemq.xml, I forgot to put in:
<plugins> <jaasAuthenticationPlugin configuration="LdapConfiguration" /> <authorizationPlugin> etc... And I forgot to put the login.config into the conf directory. Here is the content of my login.config which is the same as what is shown on the activemq security page. LdapConfiguration { org.apache.activemq.jaas.LDAPLoginModule required debug=true initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory connectionURL="ldap://localhost:389" connectionUsername="cn=mqbroker,ou=Services,dc=acme,dc=com" connectionPassword=password connectionProtocol=s authentication=simple userBase="ou=User,ou=ActiveMQ,ou=systems,dc=acme,dc=com" userRoleName=dummyUserRoleName userSearchMatching="(uid={0})" userSearchSubtree=false roleBase="ou=Group,ou=ActiveMQ,ou=systems,dc=acme,dc=com" roleName=cn roleSearchMatching="(member:=uid={1})" roleSearchSubtree=true ; }; Now I am getting an LDAP error code 49. which I am figure out. DEBUG | Error occured while processing sync command: ConnectionInfo {commandId = 1, responseRequired = true, connectionId = ID:WSW710119-64373-1350601619950-1:1, clientId = ID:WSW710119-64373-1350601619950-0:1, clientIp = tcp://127.0.0.1:64374, userName = cn=Directory Manager, password = *****, brokerPath = null, brokerMasterConnector = false, manageable = true, clientMaster = true, faultTolerant = false, failoverReconnect = false}, exception: java.lang.SecurityException: User name [cn=Directory Manager] or password is invalid.^M java.lang.SecurityException: User name [cn=Directory Manager] or password is invalid.^M at org.apache.activemq.security.JaasAuthenticationBroker.addConnection(JaasAuthenticationBroker.java:83)^M at org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:85)^M at org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:91)^M at org.apache.activemq.broker.TransportConnection.processAddConnection(TransportConnection.java:712)^M at org.apache.activemq.broker.jmx.ManagedTransportConnection.processAddConnection(ManagedTransportConnection.java:80)^M at org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:139)^M at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:294)^M at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:152)^M at org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50)^M at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)^M at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:256)^M at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)^M at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:222)^M at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:204)^M at java.lang.Thread.run(Thread.java:662)^M Caused by: javax.security.auth.login.FailedLoginException: Error opening LDAP connection^M at org.apache.activemq.jaas.LDAPLoginModule.authenticate(LDAPLoginModule.java:177)^M at org.apache.activemq.jaas.LDAPLoginModule.login(LDAPLoginModule.java:130)^M at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)^M at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)^M at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)^M at java.lang.reflect.Method.invoke(Method.java:597)^M at javax.security.auth.login.LoginContext.invoke(LoginContext.java:769)^M at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)^M at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)^M at java.security.AccessController.doPrivileged(Native Method)^M at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)^M at javax.security.auth.login.LoginContext.login(LoginContext.java:579)^M at org.apache.activemq.security.JaasAuthenticationBroker.addConnection(JaasAuthenticationBroker.java:76)^M ... 14 more^M Caused by: javax.naming.AuthenticationException: [LDAP: error code 49 - Invalid Credentials]^M at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3067)^M at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:3013)^M at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2815)^M at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2729)^M at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:296)^M at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:175)^M at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:193)^M at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:136)^M at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:66)^M at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)^M at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)^M at javax.naming.InitialContext.init(InitialContext.java:223)^M at javax.naming.InitialContext.<init>(InitialContext.java:197)^M at javax.naming.directory.InitialDirContext.<init>(InitialDirContext.java:82)^M at org.apache.activemq.jaas.LDAPLoginModule.open(LDAPLoginModule.java:437)^M at org.apache.activemq.jaas.LDAPLoginModule.authenticate(LDAPLoginModule.java:175)^M ... 26 more^M On Thu, Oct 18, 2012 at 3:48 PM, Sean K <sk92...@gmail.com> wrote: > And then on the broker side, here is the log that I snipped out -- > > I turned up the logging level in the logging.properties to DEBUG from > INFO level. > > I see the userName that I passed from my camel producer bean when I > instantiate the ActiveMQConnectionFactory. > > I re-read the http://activemq.apache.org/security.html again. > > I verified that I had imported the ldif into my opends, I changed the > LDAPAuthorizationMap back to match the one on the security.html page. > > > <authorizationPlugin> > <map> > <bean id="lDAPAuthorizationMap" > class="org.apache.activemq.security.LDAPAuthorizationMap" > xmlns="http://www.springframework.org/schema/beans"> > <property name="initialContextFactory" > value="com.sun.jndi.ldap.LdapCtxFactory"/> > <property name="connectionURL" > value="ldap://localhost:389"/> > <property name="authentication" value="simple"/> > <property name="connectionUsername" > value="cn=mqbroker,ou=Services,dc=acme,dc=com"/> > <property name="connectionPassword" value="password"/> > <property name="connectionProtocol" value="s"/> > <property name="topicSearchMatchingFormat" > > value="cn={0},ou=Topic,ou=Destination,ou=ActiveMQ,ou=system"/> > <property name="topicSearchSubtreeBool" value="true"/> > <property name="queueSearchMatchingFormat" > > value="cn={0},ou=Queue,ou=Destination,ou=ActiveMQ,ou=system"/> > <property name="advisorySearchBase" > > value="cn=ActiveMQ.Advisory,ou=Topic,ou=Destination,ou=ActiveMQ,ou=system"/> > <property name="tempSearchBase" > > value="cn=ActiveMQ.Temp,ou=Topic,ou=Destination,ou=ActiveMQ,ou=system"/> > <property name="queueSearchSubtreeBool" value="true"/> > <property name="adminBase" value="(cn=admin)"/> > <property name="adminAttribute" value="member"/> > <property name="readBase" value="(cn=read)"/> > <property name="readAttribute" value="member"/> > <property name="writeBase" value="(cn=write)"/> > <property name="writeAttribute" value="member"/> > </bean> > </map> > </authorizationPlugin> > > > > > > > DEBUG | Setting up new connection id: > ID:WSW710119-63884-1350596295369-1:1, address: tcp://127.0.0.1:63885, > info: ConnectionInfo {commandId = 1, responseRequired = true, > connectionId = ID:WSW710119-63884-1350596295369-1:1, clientId = > ID:WSW710119-63884-1350596295369-0:1, clientIp = null, userName = > cn=Directory Manager, password = *****, brokerPath = null, > brokerMasterConnector = false, manageable = true, clientMaster = true, > faultTolerant = false, failoverReconnect = false} > WARN | Failed to add Connection ID:WSW710119-63884-1350596295369-1:1, > reason: java.lang.SecurityException: User is not authenticated. > DEBUG | Exception detail: > java.lang.SecurityException: User is not authenticated. > at > org.apache.activemq.security.AuthorizationBroker.addDestination(AuthorizationBroker.java:59) > at > org.apache.activemq.broker.MutableBrokerFilter.addDestination(MutableBrokerFilter.java:151) > at > org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:481) > at > org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBroker.java:305) > at > org.apache.activemq.advisory.AdvisoryBroker.fireAdvisory(AdvisoryBroker.java:533) > at > org.apache.activemq.advisory.AdvisoryBroker.fireAdvisory(AdvisoryBroker.java:464) > at > org.apache.activemq.advisory.AdvisoryBroker.fireAdvisory(AdvisoryBroker.java:459) > at > org.apache.activemq.advisory.AdvisoryBroker.addConnection(AdvisoryBroker.java:72) > at > org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:85) > at > org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:85) > at > org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:91) > at > org.apache.activemq.broker.util.LoggingBrokerPlugin.addConnection(LoggingBrokerPlugin.java:190) > at > org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:85) > at > org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:91) > at > org.apache.activemq.broker.TransportConnection.processAddConnection(TransportConnection.java:715) > at > org.apache.activemq.broker.jmx.ManagedTransportConnection.processAddConnection(ManagedTransportConnection.java:79) > at > org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:139) > at > org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:292) > at > org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:150) > at > org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50) > at > org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113) > at > org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:229) > at > org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83) > at > org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:222) > at > org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:204) > at java.lang.Thread.run(Thread.java:662) > DEBUG | Error occured while processing sync command: ConnectionInfo > {commandId = 1, responseRequired = true, connectionId = > ID:WSW710119-63884-1350596295369-1:1, clientId = > ID:WSW710119-63884-1350596295369-0:1, clientIp = > tcp://127.0.0.1:63885, userName = cn=Directory Manager, password = > *****, brokerPath = null, brokerMasterConnector = false, manageable = > true, clientMaster = true, faultTolerant = false, failoverReconnect = > false}, exception: java.lang.SecurityException: User is not > authenticated. > java.lang.SecurityException: User is not authenticated. > at > org.apache.activemq.security.AuthorizationBroker.addDestination(AuthorizationBroker.java:59) > at > org.apache.activemq.broker.MutableBrokerFilter.addDestination(MutableBrokerFilter.java:151) > at > org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:481) > at > org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBroker.java:305) > at > org.apache.activemq.advisory.AdvisoryBroker.fireAdvisory(AdvisoryBroker.java:533) > at > org.apache.activemq.advisory.AdvisoryBroker.fireAdvisory(AdvisoryBroker.java:464) > at > org.apache.activemq.advisory.AdvisoryBroker.fireAdvisory(AdvisoryBroker.java:459) > at > org.apache.activemq.advisory.AdvisoryBroker.addConnection(AdvisoryBroker.java:72) > at > org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:85) > at > org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:85) > at > org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:91) > at > org.apache.activemq.broker.util.LoggingBrokerPlugin.addConnection(LoggingBrokerPlugin.java:190) > at > org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:85) > at > org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:91) > at > org.apache.activemq.broker.TransportConnection.processAddConnection(TransportConnection.java:715) > at > org.apache.activemq.broker.jmx.ManagedTransportConnection.processAddConnection(ManagedTransportConnection.java:79) > at > org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:139) > at > org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:292) > at > org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:150) > at > org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50) > at > org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113) > at > org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:229) > at > org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83) > at > org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:222) > at > org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:204) > at java.lang.Thread.run(Thread.java:662) > DEBUG | Transport Connection to: tcp://127.0.0.1:63885 failed: > java.io.EOFException > java.io.EOFException > at java.io.DataInputStream.readInt(DataInputStream.java:375) > at > org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:275) > at > org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:229) > at > org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:221) > at > org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:204) > at java.lang.Thread.run(Thread.java:662) > > > > So then I switched to activemq 5.7.0. > > I used this current activemq.xml -- this is the plugins section. > > <plugins> > > <authorizationPlugin> > <map> > <bean id="lDAPAuthorizationMap" > class="org.apache.activemq.security.LDAPAuthorizationMap" > xmlns="http://www.springframework.org/schema/beans"> > <property name="initialContextFactory" > value="com.sun.jndi.ldap.LdapCtxFactory"/> > <property name="connectionURL" > value="ldap://localhost:389"/> > <property name="authentication" value="simple"/> > <property name="connectionUsername" > value="cn=mqbroker,ou=Services,dc=acme,dc=com"/> > <property name="connectionPassword" value="password"/> > <property name="connectionProtocol" value="s"/> > <property name="topicSearchMatchingFormat" > > value="cn={0},ou=Topic,ou=Destination,ou=ActiveMQ,ou=system"/> > <property name="topicSearchSubtreeBool" value="true"/> > <property name="queueSearchMatchingFormat" > > value="cn={0},ou=Queue,ou=Destination,ou=ActiveMQ,ou=system"/> > <property name="queueSearchSubtreeBool" value="true" > /> > <property name="advisorySearchBase" > > value="cn=ActiveMQ.Advisory,ou=Topic,ou=Destination,ou=ActiveMQ,ou=system"/> > <property name="tempSearchBase" > > value="cn=ActiveMQ.Temp,ou=Topic,ou=Destination,ou=ActiveMQ,ou=system"/> > <property name="adminBase" value="(cn=admin)"/> > <property name="adminAttribute" value="member"/> > <property name="readBase" value="(cn=read)"/> > <property name="readAttribute" value="member"/> > <property name="writeBase" value="(cn=write)"/> > <property name="writeAttribute" value="member"/> > </bean> > </map> > </authorizationPlugin> > > </plugins> > > I noticed a few documentation inconsistencies. > > topicSearchMatching is not writable -- so I assumed > topicSearchMatchingFormat is correct -- I forgot where i saw that one. > > queueSearchMatchingFormat has the same issue. > > Then on the producer side, I tried using the entries that were created > by the ldif. So I tried userName being "cn=admin" or "admin", or > "cn=Directory Manager" -- all of them results in the user not being > authenticated. > > Any ideas? > > > > > > > On Thu, Oct 18, 2012 at 2:27 PM, Sean K <sk92...@gmail.com> wrote: >> I havent tried that yet. >> >> But I think I am getting closer. >> >> I took a vanilla activemq 5.6.0 bundle zip and expanded it on a >> windows7 machine, and added only this section for the LDAP. >> >> The OpenDS 2.2.1 is also running on the same machine. >> >> >> Now, when I made my non-ssl producer connect to the broker, it says >> that the user is not authenticated. >> >> My producer is a simple camel producer basically driven from this xml. >> Then I run the producer using : mvn camel:run >> >> I think I need to configure the OpenDS more to handle ActiveMQ but I >> am not sure how. Any ideas? >> >> >> >> <authorizationPlugin> >> <map> >> <bean id="lDAPAuthorizationMap" >> class="org.apache.activemq.security.LDAPAuthorizationMap" >> xmlns="http://www.springframework.org/schema/beans"> >> <property name="initialContextFactory" >> value="com.sun.jndi.ldap.LdapCtxFactory"/> >> <property name="connectionURL" >> value="ldap://localhost:389"/> >> <property name="authentication" value="simple"/> >> <property name="connectionUsername" >> value="cn=Directory Manager"/> >> <property name="connectionPassword" value="password"/> >> <property name="connectionProtocol" value="s"/> >> <property name="topicSearchMatchingFormat" >> >> value="cn={0},ou=Topic,ou=Destination,ou=ActiveMQ,ou=system"/> >> <property name="topicSearchSubtreeBool" value="true"/> >> <property name="queueSearchMatchingFormat" >> >> value="cn={0},ou=Queue,ou=Destination,ou=ActiveMQ,ou=system"/> >> <property name="advisorySearchBase" >> >> value="cn=ActiveMQ.Advisory,ou=Topic,ou=Destination,ou=ActiveMQ,ou=system"/> >> <property name="tempSearchBase" >> >> value="cn=ActiveMQ.Temp,ou=Topic,ou=Destination,ou=ActiveMQ,ou=system"/> >> <property name="queueSearchSubtreeBool" value="true"/> >> <property name="adminBase" >> value="(cn=all-servers,cn=Server Groups,cn=admin data)"/> >> <property name="adminAttribute" value="member"/> >> <property name="readBase" >> value="(cn=all-servers,cn=Server Groups,cn=admin data)"/> >> <property name="readAttribute" value="member"/> >> <property name="writeBase" >> value="(cn=all-servers,cn=Server Groups,cn=admin data)"/> >> <property name="writeAttribute" value="member"/> >> </bean> >> </map> >> </authorizationPlugin> >> >> >> >> >> INFO [DefaultQuartzScheduler-camel-1_Worker-1] (JobRunShell.java:221) >> - Job DEFAULT.quartz-endpoint1 threw a JobExecutionException: >> org.quartz.JobExecutionException: >> org.springframework.jms.UncategorizedJmsException: Uncategorized >> exception occured during JMS processing; nested exception is >> javax.jms.JMSException: User is not authenticated. [See nested >> exception: org.springframework.jms.UncategorizedJmsException: >> Uncategorized exception occured during JMS processing; nested >> exception is javax.jms.JMSException: User is not authenticated.] >> at >> org.apache.camel.component.quartz.QuartzEndpoint.onJobExecute(QuartzEndpoint.java:117) >> at >> org.apache.camel.component.quartz.CamelJob.execute(CamelJob.java:54) >> at org.quartz.core.JobRunShell.run(JobRunShell.java:216) >> at >> org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549) >> Caused by: org.springframework.jms.UncategorizedJmsException: >> Uncategorized exception occured during JMS processing; nested >> exception is javax.jms.JMSException: User is not authenticated. >> at >> org.springframework.jms.support.JmsUtils.convertJmsAccessException(JmsUtils.java:316) >> at >> org.springframework.jms.support.JmsAccessor.convertJmsAccessException(JmsAccessor.java:168) >> at >> org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:469) >> at >> org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.send(JmsConfiguration.java:187) >> at >> org.apache.camel.component.jms.JmsProducer.doSend(JmsProducer.java:387) >> at >> org.apache.camel.component.jms.JmsProducer.processInOnly(JmsProducer.java:341) >> at >> org.apache.camel.component.jms.JmsProducer.process(JmsProducer.java:132) >> at >> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) >> at >> org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:120) >> at >> org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:292) >> at >> org.apache.camel.processor.SendProcessor.process(SendProcessor.java:115) >> at >> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) >> at >> org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) >> at >> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) >> at >> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73) >> at >> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) >> at >> org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) >> at >> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) >> at >> org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:91) >> at >> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) >> at >> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:330) >> at >> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:220) >> at >> org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45) >> at >> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) >> at >> org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:303) >> at >> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) >> at org.apache.camel.processor.Pipeline.process(Pipeline.java:117) >> at org.apache.camel.processor.Pipeline.process(Pipeline.java:80) >> at >> org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45) >> at >> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) >> at >> org.apache.camel.processor.UnitOfWorkProcessor.processAsync(UnitOfWorkProcessor.java:150) >> at >> org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:117) >> at >> org.apache.camel.processor.RouteInflightRepositoryProcessor.processNext(RouteInflightRepositoryProcessor.java:48) >> at >> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) >> at >> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) >> at >> org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) >> at >> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) >> at >> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73) >> at >> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) >> at >> org.apache.camel.processor.loadbalancer.QueueLoadBalancer.process(QueueLoadBalancer.java:44) >> at >> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:99) >> at >> org.apache.camel.processor.loadbalancer.QueueLoadBalancer.process(QueueLoadBalancer.java:71) >> at >> org.apache.camel.component.quartz.QuartzEndpoint.onJobExecute(QuartzEndpoint.java:113) >> ... 3 more >> Caused by: javax.jms.JMSException: User is not authenticated. >> at >> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49) >> at >> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1362) >> at >> org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1466) >> at >> org.apache.activemq.ActiveMQConnection.createSession(ActiveMQConnection.java:308) >> at >> org.springframework.jms.support.JmsAccessor.createSession(JmsAccessor.java:196) >> at >> org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:457) >> ... 43 more >> Caused by: java.lang.SecurityException: User is not authenticated. >> at >> org.apache.activemq.security.AuthorizationBroker.addDestination(AuthorizationBroker.java:59) >> at >> org.apache.activemq.broker.MutableBrokerFilter.addDestination(MutableBrokerFilter.java:151) >> at >> org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:481) >> at >> org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBroker.java:305) >> at >> org.apache.activemq.advisory.AdvisoryBroker.fireAdvisory(AdvisoryBroker.java:533) >> at >> org.apache.activemq.advisory.AdvisoryBroker.fireAdvisory(AdvisoryBroker.java:464) >> at >> org.apache.activemq.advisory.AdvisoryBroker.fireAdvisory(AdvisoryBroker.java:459) >> at >> org.apache.activemq.advisory.AdvisoryBroker.addConnection(AdvisoryBroker.java:72) >> at >> org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:85) >> at >> org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:85) >> at >> org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:91) >> at >> org.apache.activemq.broker.util.LoggingBrokerPlugin.addConnection(LoggingBrokerPlugin.java:190) >> at >> org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:85) >> at >> org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:91) >> at >> org.apache.activemq.broker.TransportConnection.processAddConnection(TransportConnection.java:715) >> at >> org.apache.activemq.broker.jmx.ManagedTransportConnection.processAddConnection(ManagedTransportConnection.java:79) >> at >> org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:139) >> at >> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:292) >> at >> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:150) >> at >> org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50) >> at >> org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113) >> at >> org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:229) >> at >> org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83) >> at >> org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:222) >> at >> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:204) >> at java.lang.Thread.run(Thread.java:662) >> >> >> >> <beans xmlns="http://www.springframework.org/schema/beans" >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> xsi:schemaLocation=" >> http://www.springframework.org/schema/beans >> http://www.springframework.org/schema/beans/spring-beans-3.0.xsd >> http://camel.apache.org/schema/spring >> http://camel.apache.org/schema/spring/camel-spring.xsd"> >> >> <bean id="jms" class="org.apache.camel.component.jms.JmsComponent"> >> <property name="connectionFactory"> >> <bean class="org.apache.activemq.ActiveMQConnectionFactory"> >> <property name="brokerURL" >> value="tcp://localhost:61616" /> >> <property name="userName" value="cn=Directory >> Manager" /> >> <property name="password" value="password" /> >> </bean> >> </property> >> </bean> >> >> <bean id="myUriMaker" class="com.foo.camel.jms.QueueUriMaker"/> >> >> <bean id="myRouter" class="com.foo.camel.jms.MyProducer"> >> >> <property name="brokerName" ref="brokerNameLookup" /> >> <property name="producerName" ref="producerNameLookup" /> >> <property name="postLogger" ref="producerLogger" /> >> >> <property name="uri" value="jms:queue:prescriptions" /> >> <property name="quartz" >> value="quartz://com.foo.camel.quartz.producer/MyQuartz" /> >> <property name="repeatInterval" value="1000" /> >> <property name="repeatCount" value="0" /> >> <property name="fireNow" value="true" /> >> </bean> >> <bean id="downloadLogger" class="com.foo.camel.jms.DownloadLogger"/> >> <bean id="producerLogger" class="com.foo.camel.jms.ProducerLogger"/> >> <bean id="brokerNameLookup" >> class="com.foo.camel.jms.BrokerNameLookup"/> >> <bean id="producerNameLookup" >> class="com.foo.camel.jms.ProducerNameLookup"/> >> <bean id="consumerNameLookup" >> class="com.foo.camel.jms.ConsumerNameLookup"/> >> >> <camelContext xmlns="http://camel.apache.org/schema/spring"> >> <routeBuilder ref="myRouter"/> >> </camelContext> >> >> >> <!-- >> <camelContext xmlns="http://camel.apache.org/schema/spring"> >> <route> >> <from uri="file:src/data?noop=true"/> >> <process ref="downloadLogger"/> >> <to uri="jms:queue:incomingOrders"/> >> <process ref="producerLogger"/> >> </route> >> </camelContext> >> --> >> >> <!-- >> >> <camelContext xmlns="http://camel.apache.org/schema/spring"> >> <packageScan> >> <package>com.foo.camel.jms.routes</package> >> <excludes>**.*Test*</excludes> >> <includes>**.*</includes> >> </packageScan> >> </camelContext> >> --> >> >> </beans> >> >> >> >> >> >> On Wed, Oct 17, 2012 at 9:18 PM, Claus Ibsen <claus.ib...@gmail.com> wrote: >>> Hi >>> >>> Have you tried with the ActiveMQ 5.7.0 release? >>> >>> >>> On Wed, Oct 17, 2012 at 2:09 AM, Sean K <sk92...@gmail.com> wrote: >>>> Hi, >>>> I am working with the documentation on the activemq site for >>>> configuring the LDAP. >>>> >>>> http://activemq.apache.org/security.html -- almost everything is >>>> copied verbatim except for hostnames and there were a few parameters >>>> that were not writable by the current bean so I remove them -- for >>>> example the writeAttributePrefix. >>>> >>>> I am using apache activemq-5.6.0 which is running on ubuntu. >>>> >>>> It is trying to connect to the opends 2.2.1 running on a Windows 7 >>>> machine. I imported the ldif into the openDS through the admin >>>> console so that these dc and ou would match. >>>> >>>> I start up the activemq broker -- all is fine. >>>> When I start the producer to send messages to the broker, then errors >>>> occur (on bottom) >>>> >>>> In the producer log, there is some indicator -- about an option key >>>> being expected at line 40, which I dont see how. >>>> >>>> I also attached the login.config file. >>>> >>>> Any ideas anyone? >>>> >>>> <plugins> >>>> <jaasAuthenticationPlugin >>>> configuration="LdapConfiguration" /> >>>> >>>> <authorizationPlugin> >>>> <map> >>>> >>>> >>>> <bean >>>> xmlns="http://www.springframework.org/schema/beans" >>>> id="lDAPAuthorizationMap" >>>> >>>> class="org.apache.activemq.security.LDAPAuthorizationMap"> >>>> >>>> <property name="initialContextFactory" >>>> value="com.sun.jndi.ldap.LdapCtxFactory"/> >>>> <property name="connectionURL" >>>> value="ldap://WSW710119:389"/> >>>> <property name="authentication" >>>> value="simple"/> >>>> <property name="connectionUsername" >>>> value="cn=mqbroker,ou=Services,dc=acme,dc=com"/> >>>> <property name="connectionPassword" >>>> value="password"/> >>>> <property name="connectionProtocol" >>>> value="s"/> >>>> <property name="topicSearchSubtreeBool" >>>> value="true" /> >>>> >>>> >>>> <property name="queueSearchSubtreeBool" >>>> value="true"/> >>>> <property name="adminBase" >>>> value="(cn=admin)"/> >>>> <property name="adminAttribute" >>>> value="member"/> >>>> <property name="readBase" value="(cn=read)"/> >>>> <property name="readAttribute" >>>> value="member"/> >>>> <property name="writeBase" >>>> value="(cn=write)"/> >>>> <property name="writeAttribute" >>>> value="member"/> >>>> </bean> >>>> </map> >>>> </authorizationPlugin> >>>> >>>> >>>> </plugins> >>>> >>>> >>>> And the contents of login.conf : >>>> >>>> >>>> LdapConfiguration { >>>> >>>> org.apache.activemq.jaas.LDAPLoginModule required >>>> >>>> debug=true >>>> >>>> initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory >>>> >>>> connectionURL="ldap://WSW710119:389" >>>> >>>> connectionUsername="cn=mqbroker,ou=Services,dc=acme,dc=com" >>>> >>>> connectionPassword=password >>>> >>>> connectionProtocol=s >>>> >>>> authentication=simple >>>> >>>> userBase="ou=User,ou=ActiveMQ,ou=systems,dc=acme,dc=com" >>>> >>>> userRoleName=dummyUserRoleName >>>> >>>> userSearchMatching="(uid={0})" >>>> >>>> userSearchSubtree=false >>>> >>>> roleBase="ou=Groups,ou=ActiveMQ,ou=systems,dc=acme,dc=com" >>>> >>>> roleName=cn >>>> >>>> roleSearchMatching="(member=uid={1})" >>>> >>>> roleSearchSubtree=true >>>> >>>> }; >>>> >>>> >>>> <<<< this is the broker logs>>>>> >>>> 2012-10-16 16:57:16,098 | WARN | Failed to add Connection >>>> ID:centos-test1.foo.com-43128-1350431835402-1:2, reason: >>>> java.lang.SecurityException: User name [null] or password is invalid. >>>> | org.apache.activemq.broker.TransportConnection | ActiveMQ Transport: >>>> ssl:///127.0.0.1:44983 >>>> 2012-10-16 16:57:16,100 | WARN | Failed to add Connection >>>> ID:centos-test1.foo.com-43128-1350431835402-1:3, reason: >>>> java.lang.SecurityException: User name [null] or password is invalid. >>>> | org.apache.activemq.broker.TransportConnection | ActiveMQ Transport: >>>> ssl:///127.0.0.1:44982 >>>> 2012-10-16 16:57:16,108 | WARN | Failed to add Connection >>>> ID:centos-test1.foo.com-43128-1350431835402-1:1, reason: >>>> java.lang.SecurityException: User name [null] or password is invalid. >>>> | org.apache.activemq.broker.TransportConnection | ActiveMQ Transport: >>>> ssl:///127.0.0.1:44981 >>>> 2012-10-16 16:57:16,152 | WARN | Transport Connection to: >>>> tcp://127.0.0.1:44982 failed: java.io.EOFException | >>>> org.apache.activemq.broker.TransportConnection.Transport | ActiveMQ >>>> Transport: ssl:///127.0.0.1:44982 >>>> 2012-10-16 16:57:16,171 | WARN | Transport Connection to: >>>> tcp://127.0.0.1:44983 failed: java.io.EOFException | >>>> org.apache.activemq.broker.TransportConnection.Transport | ActiveMQ >>>> Transport: ssl:///127.0.0.1:44983 >>>> 2012-10-16 16:57:16,180 | WARN | Transport Connection to: >>>> tcp://127.0.0.1:44981 failed: java.io.EOFException | >>>> org.apache.activemq.broker.TransportConnection.Transport | ActiveMQ >>>> Transport: ssl:///127.0.0.1:44981 >>>> 2012-10-16 16:57:16,613 | WARN | Failed to add Connection >>>> ID:centos-test1.foo.com-43128-1350431835402-1:4, reason: >>>> java.lang.SecurityException: User name [null] or password is invalid. >>>> | org.apache.activemq.broker.TransportConnection | ActiveMQ Transport: >>>> ssl:///127.0.0.1:44984 >>>> 2012-10-16 16:57:16,632 | WARN | Transport Connection to: >>>> tcp://127.0.0.1:44984 failed: java.io.EOFException | >>>> org.apache.activemq.broker.TransportConnection.Transport | ActiveMQ >>>> Transport: ssl:///127.0.0.1:44984 >>>> 2012-10-16 16:57:17,585 | WARN | Failed to add Connection >>>> ID:centos-test1.foo.com-43128-1350431835402-1:5, reason: >>>> java.lang.SecurityException: User name [null] or password is invalid. >>>> | org.apache.activemq.broker.TransportConnection | ActiveMQ Transport: >>>> ssl:///127.0.0.1:44985 >>>> >>>> >>>> <<<<this is the error that come back through the producer >>>>>> >>>> ]. Caused by: [org.quartz.JobExecutionException - >>>> org.springframework.jms.UncategorizedJmsException: Uncategorized >>>> exception occured during JMS processing; nested exception is >>>> javax.jms.JMSException: User name [null] or password is invalid.] >>>> INFO [DefaultQuartzScheduler-camel-1_Worker-3] (JobRunShell.java:221) >>>> - Job DEFAULT.quartz-endpoint1 threw a JobExecutionException: >>>> org.quartz.JobExecutionException: >>>> org.springframework.jms.UncategorizedJmsException: Uncategorized >>>> exception occured during JMS processing; nested exception is >>>> javax.jms.JMSException: User name [null] or password is invalid. [See >>>> nested exception: org.springframework.jms.UncategorizedJmsException: >>>> Uncategorized exception occured during JMS processing; nested >>>> exception is javax.jms.JMSException: User name [null] or password is >>>> invalid.] >>>> at >>>> org.apache.camel.component.quartz.QuartzEndpoint.onJobExecute(QuartzEndpoint.java:117) >>>> at >>>> org.apache.camel.component.quartz.CamelJob.execute(CamelJob.java:54) >>>> at org.quartz.core.JobRunShell.run(JobRunShell.java:216) >>>> at >>>> org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549) >>>> Caused by: org.springframework.jms.UncategorizedJmsException: >>>> Uncategorized exception occured during JMS processing; nested >>>> exception is javax.jms.JMSException: User name [null] or password is >>>> invalid. >>>> at >>>> org.springframework.jms.support.JmsUtils.convertJmsAccessException(JmsUtils.java:316) >>>> at >>>> org.springframework.jms.support.JmsAccessor.convertJmsAccessException(JmsAccessor.java:168) >>>> at >>>> org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:469) >>>> at >>>> org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.send(JmsConfiguration.java:187) >>>> at >>>> org.apache.camel.component.jms.JmsProducer.doSend(JmsProducer.java:387) >>>> at >>>> org.apache.camel.component.jms.JmsProducer.processInOnly(JmsProducer.java:341) >>>> at >>>> org.apache.camel.component.jms.JmsProducer.process(JmsProducer.java:132) >>>> at >>>> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) >>>> at >>>> org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:120) >>>> at >>>> org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:292) >>>> at >>>> org.apache.camel.processor.SendProcessor.process(SendProcessor.java:115) >>>> at >>>> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) >>>> at >>>> org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) >>>> at >>>> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) >>>> at >>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73) >>>> at >>>> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) >>>> at >>>> org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) >>>> at >>>> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) >>>> at >>>> org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:91) >>>> at >>>> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) >>>> at >>>> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:330) >>>> at >>>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:220) >>>> at >>>> org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45) >>>> at >>>> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) >>>> at >>>> org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:303) >>>> at >>>> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) >>>> at org.apache.camel.processor.Pipeline.process(Pipeline.java:117) >>>> at org.apache.camel.processor.Pipeline.process(Pipeline.java:80) >>>> at >>>> org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45) >>>> at >>>> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) >>>> at >>>> org.apache.camel.processor.UnitOfWorkProcessor.processAsync(UnitOfWorkProcessor.java:150) >>>> at >>>> org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:117) >>>> at >>>> org.apache.camel.processor.RouteInflightRepositoryProcessor.processNext(RouteInflightRepositoryProcessor.java:48) >>>> at >>>> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) >>>> at >>>> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) >>>> at >>>> org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) >>>> at >>>> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) >>>> at >>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73) >>>> at >>>> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) >>>> at >>>> org.apache.camel.processor.loadbalancer.QueueLoadBalancer.process(QueueLoadBalancer.java:44) >>>> at >>>> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:99) >>>> at >>>> org.apache.camel.processor.loadbalancer.QueueLoadBalancer.process(QueueLoadBalancer.java:71) >>>> at >>>> org.apache.camel.component.quartz.QuartzEndpoint.onJobExecute(QuartzEndpoint.java:113) >>>> ... 3 more >>>> Caused by: javax.jms.JMSException: User name [null] or password is invalid. >>>> at >>>> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49) >>>> at >>>> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1362) >>>> at >>>> org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1466) >>>> at >>>> org.apache.activemq.ActiveMQConnection.createSession(ActiveMQConnection.java:308) >>>> at >>>> org.springframework.jms.support.JmsAccessor.createSession(JmsAccessor.java:196) >>>> at >>>> org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:457) >>>> ... 43 more >>>> Caused by: java.lang.SecurityException: User name [null] or password is >>>> invalid. >>>> at >>>> org.apache.activemq.security.JaasAuthenticationBroker.addConnection(JaasAuthenticationBroker.java:83) >>>> at >>>> org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:85) >>>> at >>>> org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:91) >>>> at >>>> org.apache.activemq.broker.TransportConnection.processAddConnection(TransportConnection.java:715) >>>> at >>>> org.apache.activemq.broker.jmx.ManagedTransportConnection.processAddConnection(ManagedTransportConnection.java:79) >>>> at >>>> org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:139) >>>> at >>>> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:292) >>>> at >>>> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:150) >>>> at >>>> org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50) >>>> at >>>> org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113) >>>> at >>>> org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:229) >>>> at >>>> org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83) >>>> at >>>> org.apache.activemq.transport.tcp.SslTransport.doConsume(SslTransport.java:91) >>>> at >>>> org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:222) >>>> at >>>> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:204) >>>> at java.lang.Thread.run(Thread.java:662) >>>> Caused by: java.lang.SecurityException: Configuration Error: >>>> Line 40: expected [option key] >>>> at >>>> com.sun.security.auth.login.ConfigFile.<init>(ConfigFile.java:93) >>>> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native >>>> Method) >>>> at >>>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) >>>> at >>>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) >>>> at java.lang.reflect.Constructor.newInstance(Constructor.java:513) >>>> at java.lang.Class.newInstance0(Class.java:355) >>>> at java.lang.Class.newInstance(Class.java:308) >>>> at >>>> javax.security.auth.login.Configuration$3.run(Configuration.java:247) >>>> at java.security.AccessController.doPrivileged(Native Method) >>>> at >>>> javax.security.auth.login.Configuration.getConfiguration(Configuration.java:242) >>>> at >>>> javax.security.auth.login.LoginContext$1.run(LoginContext.java:237) >>>> at java.security.AccessController.doPrivileged(Native Method) >>>> at >>>> javax.security.auth.login.LoginContext.init(LoginContext.java:234) >>>> at >>>> javax.security.auth.login.LoginContext.<init>(LoginContext.java:403) >>>> at >>>> org.apache.activemq.security.JaasAuthenticationBroker.addConnection(JaasAuthenticationBroker.java:75) >>>> ... 15 more >>>> Caused by: java.io.IOException: Configuration Error: >>>> Line 40: expected [option key] >>>> at >>>> com.sun.security.auth.login.ConfigFile.match(ConfigFile.java:520) >>>> at >>>> com.sun.security.auth.login.ConfigFile.parseLoginEntry(ConfigFile.java:406) >>>> at >>>> com.sun.security.auth.login.ConfigFile.readConfig(ConfigFile.java:350) >>>> at com.sun.security.auth.login.ConfigFile.init(ConfigFile.java:262) >>>> at com.sun.security.auth.login.ConfigFile.init(ConfigFile.java:202) >>>> at >>>> com.sun.security.auth.login.ConfigFile.<init>(ConfigFile.java:91) >>>> ... 29 more >>> >>> >>> >>> -- >>> Claus Ibsen >>> ----------------- >>> Red Hat, Inc. >>> FuseSource is now part of Red Hat >>> Email: cib...@redhat.com >>> Web: http://fusesource.com >>> Twitter: davsclaus >>> Blog: http://davsclaus.com >>> Author of Camel in Action: http://www.manning.com/ibsen