Hi Dejan, Thanks for the input. This is what I did
I uninstalled the OpenDS 2.2.1 because I cant easily re-import the LDIF if an existing OpenDS already has a root DN. I re-installed the OpenDS and had it import from the LDIF on the http://activemq.apache.org/security.html, and I also changed the import tool use dc=acme,dc=com from dc=example,dc=com I have a separate SpringFramework ldap test client app that does a simple test to do a LdapTemplate.lookup(String dn). try { Resource resource = new ClassPathResource("springldap.xml"); BeanFactory factory = new XmlBeanFactory(resource); System.out.println(factory.toString() + "\n"); ContactDAO ldapContact = (LDAPContactDAO)factory.getBean("ldapContact"); String dnOpenDS = "uid=webapp,ou=User,ou=ActiveMQ,ou=systems,dc=acme,dc=com"; DirContextAdapter adapter = (DirContextAdapter)ldapContact.lookup(dnOpenDS); if (adapter != null){ Attributes attrs = adapter.getAttributes(); @SuppressWarnings("rawtypes") NamingEnumeration ids = attrs.getIDs(); while (ids.hasMoreElements()) { String attrId = (String)ids.next(); Attribute attr = attrs.get(attrId); System.out.println(attrId); System.out.println(attr.get()); } //adapter.close(); } else { System.out.println("THIS OBJECT DOES NOT EXISTS."); } } catch (Exception e) { e.printStackTrace(); } This actually succeeds .. and returns uid webapp userPassword [B@406199 objectClass top But when I try to use this credentials on the producer, it still complains. DEBUG | Setting up new connection id: ID:WSW710119-54616-1350673109527-1:1, address: tcp://127.0.0.1:54617, info: ConnectionInfo {commandId = 1, responseRequired = true, connectionId = ID:WSW710119-54616-1350673109527-1:1, clientId = ID:WSW710119-54616-1350673109527-0:1, clientIp = null, userName = uid=webapp,ou=User,ou=ActiveMQ,ou=systems,dc=acme,dc=com, password = *****, brokerPath = null, brokerMasterConnector = false, manageable = true, clientMaster = true, faultTolerant = false, failoverReconnect = false}^M DEBUG | Create the LDAP initial context.^M DEBUG | Get the user DN.^M DEBUG | Looking for the user in LDAP with ^M DEBUG | base DN: ou=User,ou=ActiveMQ,ou=systems,dc=acme,dc=com^M DEBUG | filter: (uid=uid=webapp,ou=User,ou=ActiveMQ,ou=systems,dc=acme,dc=com)^M WARN | User uid=webapp,ou=User,ou=ActiveMQ,ou=systems,dc=acme,dc=com not found in LDAP.^M WARN | Failed to add Connection ID:WSW710119-54616-1350673109527-1:1, reason: java.lang.SecurityException: User name [uid=webapp,ou=User,ou=ActiveMQ,ou=systems,dc=acme,dc=com] or password is invalid.^M DEBUG | Exception detail:^M java.lang.SecurityException: User name [uid=webapp,ou=User,ou=ActiveMQ,ou=systems,dc=acme,dc=com] 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: User uid=webapp,ou=User,ou=ActiveMQ,ou=systems,dc=acme,dc=com not found in LDAP.^M at org.apache.activemq.jaas.LDAPLoginModule.authenticate(LDAPLoginModule.java:220)^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 the encrypted password via the OpenDS control panel shows the password to be the same as for mqbroker dn: uid=admin,ou=User,ou=ActiveMQ,ou=systems,dc=acme,dc=com objectClass: account objectClass: simpleSecurityObject objectClass: top uid: admin userPassword:: e1NTSEF9ajBOcHZlRU8wWUQ1cmdJNWtZOE94U1JpTjVLUS9rRTQ= Still stuck On Fri, Oct 19, 2012 at 1:59 AM, Dejan Bosanac <de...@nighttale.net> wrote: > Seems like the credentials you're using in login.config are not > matching your Ldap server. > > > Regards > -- > Dejan Bosanac > ---------------------- > Red Hat, Inc. > FuseSource is now part of Red Hat > dbosa...@redhat.com > Twitter: @dejanb > Blog: http://sensatic.net > ActiveMQ in Action: http://www.manning.com/snyder/ > > > On Fri, Oct 19, 2012 at 1:36 AM, Sean K <sk92...@gmail.com> wrote: >> 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