将Apache ActiveMQ集成到Windows Server 2012 R2 Active Directory

将Apache ActiveMQ集成到Windows Server 2012 R2 Active Directory,apache,active-directory,jetty,activemq,Apache,Active Directory,Jetty,Activemq,对于Apache ActiveMQ 我有一台CentOS 7虚拟机。在这个虚拟机中,我安装了apacheactivemqv5.13.3。 我的Apache ActiveMQ管理员URL是 对于Active Directory 我有Windows Server 2012 R2虚拟机。在这个虚拟机中,我有Active Directory。 IP地址192.168.1.101/testlabserver.testlab.local 我想使用我的Active Directory用户登录到ActiveMQ

对于Apache ActiveMQ 我有一台CentOS 7虚拟机。在这个虚拟机中,我安装了apacheactivemqv5.13.3。 我的Apache ActiveMQ管理员URL

对于Active Directory 我有Windows Server 2012 R2虚拟机。在这个虚拟机中,我有Active DirectoryIP地址192.168.1.101/testlabserver.testlab.local

我想使用我的Active Directory用户登录到ActiveMQ管理URL“”

为此,我遵循

conf/activemq.xml文件内容

<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.xsd
  http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd">
    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
            <value>file:${activemq.conf}/credentials.properties</value>
        </property>
    </bean>
    <bean id="logQuery" class="io.fabric8.insight.log.log4j.Log4jLogQuery"
          lazy-init="false" scope="singleton"
          init-method="start" destroy-method="stop">
    </bean>
    <broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.data}">
        <destinationPolicy>
            <policyMap>
              <policyEntries>
                <policyEntry topic=">">
                  <pendingMessageLimitStrategy>
                    <constantPendingMessageLimitStrategy limit="1000"/>
                  </pendingMessageLimitStrategy>
                </policyEntry>
              </policyEntries>
            </policyMap>
        </destinationPolicy>
        <managementContext>
            <managementContext createConnector="true"/>
        </managementContext>
        <persistenceAdapter>
            <kahaDB directory="${activemq.data}/kahadb"/>
        </persistenceAdapter>
          <systemUsage>
            <systemUsage>
                <memoryUsage>
                    <memoryUsage percentOfJvmHeap="70" />
                </memoryUsage>
                <storeUsage>
                    <storeUsage limit="100 gb"/>
                </storeUsage>
                <tempUsage>
                    <tempUsage limit="50 gb"/>
                </tempUsage>
            </systemUsage>
        </systemUsage>
        <transportConnectors>
            <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
            <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
            <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
            <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
            <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
        </transportConnectors>
        <shutdownHooks>
            <bean xmlns="http://www.springframework.org/schema/beans" class="org.apache.activemq.hooks.SpringContextHook" />
        </shutdownHooks>
    </broker>
    <import resource="jetty.xml"/>
</beans>
<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.xsd">
    <bean id="securityLoginService" class="org.eclipse.jetty.security.HashLoginService">
        <property name="name" value="ActiveMQRealm" />
        <property name="config" value="${activemq.conf}/jetty-realm.properties" />
    </bean>
    <bean id="securityConstraint" class="org.eclipse.jetty.util.security.Constraint">
        <property name="name" value="BASIC" />
        <property name="roles" value="user,admin" />
        <property name="authenticate" value="true" />
    </bean>
    <bean id="adminSecurityConstraint" class="org.eclipse.jetty.util.security.Constraint">
        <property name="name" value="BASIC" />
        <property name="roles" value="ActiveMQAdmin" />
        <property name="authenticate" value="true" />
    </bean>
    <bean id="securityConstraintMapping" class="org.eclipse.jetty.security.ConstraintMapping">
        <property name="constraint" ref="securityConstraint" />
        <property name="pathSpec" value="/api/*,/admin/*,*.jsp" />
    </bean>
    <bean id="adminSecurityConstraintMapping" class="org.eclipse.jetty.security.ConstraintMapping">
        <property name="constraint" ref="adminSecurityConstraint" />
        <property name="pathSpec" value="*.action" />
    </bean>
    <bean id="rewriteHandler" class="org.eclipse.jetty.rewrite.handler.RewriteHandler">
        <property name="rules">
            <list>
                <bean id="header" class="org.eclipse.jetty.rewrite.handler.HeaderPatternRule">
                  <property name="pattern" value="*"/>
                  <property name="name" value="X-FRAME-OPTIONS"/>
                  <property name="value" value="SAMEORIGIN"/>
                </bean>
            </list>
        </property>
    </bean>
    <bean id="secHandlerCollection" class="org.eclipse.jetty.server.handler.HandlerCollection">
        <property name="handlers">
            <list>
                <ref bean="rewriteHandler"/>
                <bean class="org.eclipse.jetty.webapp.WebAppContext">
                    <property name="contextPath" value="/admin" />
                    <property name="resourceBase" value="${activemq.home}/webapps/admin" />
                    <property name="logUrlOnStart" value="true" />
                </bean>
                <bean class="org.eclipse.jetty.webapp.WebAppContext">
                    <property name="contextPath" value="/api" />
                    <property name="resourceBase" value="${activemq.home}/webapps/api" />
                    <property name="logUrlOnStart" value="true" />
                </bean>
                <bean class="org.eclipse.jetty.server.handler.ResourceHandler">
                    <property name="directoriesListed" value="false" />
                    <property name="welcomeFiles">
                        <list>
                            <value>index.html</value>
                        </list>
                    </property>
                    <property name="resourceBase" value="${activemq.home}/webapps/" />
                </bean>
                <bean id="defaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler">
                    <property name="serveIcon" value="false" />
                </bean>
            </list>
        </property>
    </bean>    
    <bean id="securityHandler" class="org.eclipse.jetty.security.ConstraintSecurityHandler">
        <property name="loginService" ref="ldapLoginService" />
        <property name="strict" value="false" />
        <property name="identityService" ref="identityService" />
        <property name="authenticator">
            <bean class="org.eclipse.jetty.security.authentication.BasicAuthenticator" />
        </property>
        <property name="constraintMappings">
            <list>
                <ref bean="adminSecurityConstraintMapping" />
                <ref bean="securityConstraintMapping" />
            </list>
        </property>
        <property name="handler" ref="secHandlerCollection" />
    </bean>
    <bean id="contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection">
    </bean>
    <bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-method="start">
        <property name="host" value="0.0.0.0"/>
        <property name="port" value="8161"/>
    </bean>
    <bean id="Server" depends-on="jettyPort" class="org.eclipse.jetty.server.Server"
        destroy-method="stop">
        <property name="handler">
            <bean id="handlers" class="org.eclipse.jetty.server.handler.HandlerCollection">
                <property name="handlers">
                    <list>
                        <ref bean="contexts" />
                        <ref bean="securityHandler" />
                    </list>
                </property>
            </bean>
        </property>
    </bean>
    <bean id="invokeConnectors" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
        <property name="targetObject" ref="Server" />
        <property name="targetMethod" value="setConnectors" />
        <property name="arguments">
        <list>
            <bean id="Connector" class="org.eclipse.jetty.server.ServerConnector">
                <constructor-arg ref="Server" />
                   <property name="host" value="#{systemProperties['jetty.host']}" />
                   <property name="port" value="#{systemProperties['jetty.port']}" />
               </bean>
            </list>
        </property>
    </bean>
    <bean id="configureJetty" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
        <property name="staticMethod" value="org.apache.activemq.web.config.JspConfigurer.configureJetty" />
        <property name="arguments">
            <list>
                <ref bean="Server" />
                <ref bean="secHandlerCollection" />
            </list>
        </property>
    </bean>
    <bean id="invokeStart" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean" 
        depends-on="configureJetty, invokeConnectors">
        <property name="targetObject" ref="Server" />
        <property name="targetMethod" value="start" />
    </bean>
    <bean id="ldapLoginService" class="org.eclipse.jetty.plus.jaas.JAASLoginService">
        <property name="name" value="LdapRealm" />
        <property name="loginModuleName" value="amqLdapLoginModule" />
    </bean>
    <bean id="identityService" class="org.eclipse.jetty.security.DefaultIdentityService"/>
</beans>
amqLdapLoginModule {
   org.eclipse.jetty.plus.jaas.spi.LdapLoginModule required
   debug="true"
   contextFactory="com.sun.jndi.ldap.LdapCtxFactory"
   hostname="192.168.1.101"
   port="636"
   authenticationMethod="simple"
   forceBindingLogin="true"
   userBaseDn="OU=TestUser,DC=TESTLAB,DC=local"
   userRdnAttribute="sAMAccountName"
   userIdAttribute="sAMAccountName"
   userPasswordAttribute="unicodePwd"
   userObjectClass="user"
   roleBaseDn="OU=TestUser,DC=TESTLAB,DC=local"
   roleNameAttribute="cn"
   roleMemberAttribute="member"
   roleObjectClass="group";
   };
在这个配置之后,当我启动ActiveMQ时,它会给我错误信息。 下面是我的ActiveMQ日志

2016-07-03 16:51:13,546 | INFO  | Listening for connections at: tcp://activemq.testlab.local:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600 | org.apache.activemq.transport.TransportServerThreadSupport | main
2016-07-03 16:51:13,549 | INFO  | Connector openwire started | org.apache.activemq.broker.TransportConnector | main
2016-07-03 16:51:13,553 | INFO  | Listening for connections at: amqp://activemq.testlab.local:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600 | org.apache.activemq.transport.TransportServerThreadSupport | main
2016-07-03 16:51:13,556 | INFO  | Connector amqp started | org.apache.activemq.broker.TransportConnector | main
2016-07-03 16:51:13,560 | INFO  | Listening for connections at: stomp://activemq.testlab.local:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600 | org.apache.activemq.transport.TransportServerThreadSupport | main
2016-07-03 16:51:13,562 | INFO  | Connector stomp started | org.apache.activemq.broker.TransportConnector | main
2016-07-03 16:51:13,565 | INFO  | Listening for connections at: mqtt://activemq.testlab.local:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600 | org.apache.activemq.transport.TransportServerThreadSupport | main
2016-07-03 16:51:13,567 | INFO  | Connector mqtt started | org.apache.activemq.broker.TransportConnector | main
2016-07-03 16:51:13,842 | WARN  | ServletContext@o.e.j.s.ServletContextHandler@62010f5c{/,null,STARTING} has uncovered http methods for path: / | org.eclipse.jetty.security.SecurityHandler | main
2016-07-03 16:51:13,886 | INFO  | Listening for connections at ws://activemq.testlab.local:61614?maximumConnections=1000&wireFormat.maxFrameSize=104857600 | org.apache.activemq.transport.ws.WSTransportServer | main
2016-07-03 16:51:13,889 | INFO  | Connector ws started | org.apache.activemq.broker.TransportConnector | main
2016-07-03 16:51:13,892 | INFO  | Apache ActiveMQ 5.13.3 (localhost, ID:activemq.testlab.local-33670-1467544873205-0:1) started | org.apache.activemq.broker.BrokerService | main
2016-07-03 16:51:13,894 | INFO  | For help or more information please see: http://activemq.apache.org | org.apache.activemq.broker.BrokerService | main
2016-07-03 16:51:13,897 | WARN  | Store limit is 102400 mb (current store usage is 20 mb). The data directory: /opt/apache-activemq-5.13.3/data/kahadb only has 33047 mb of usable space. - resetting to maximum available disk space: 33047 mb | org.apache.activemq.broker.BrokerService | main
2016-07-03 16:51:13,899 | WARN  | Temporary Store limit is 51200 mb (current store usage is 0 mb). The data directory: /opt/apache-activemq-5.13.3/data only has 33027 mb of usable space. - resetting to maximum available disk space: 33027 mb | org.apache.activemq.broker.BrokerService | main
2016-07-03 16:51:14,002 | WARN  | Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'securityHandler' defined in class path resource [jetty.xml]: Cannot resolve reference to bean 'ldapLoginService' while setting bean property 'loginService'; nested exception is org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.eclipse.jetty.plus.jaas.JAASLoginService] for bean with name 'ldapLoginService' defined in class path resource [jetty.xml]; nested exception is java.lang.ClassNotFoundException: org.eclipse.jetty.plus.jaas.JAASLoginService | org.apache.activemq.xbean.XBeanBrokerFactory$1 | main
2016-07-03 16:51:14,007 | INFO  | Apache ActiveMQ 5.13.3 (localhost, ID:activemq.testlab.local-33670-1467544873205-0:1) is shutting down | org.apache.activemq.broker.BrokerService | main
2016-07-03 16:51:14,011 | INFO  | Connector openwire stopped | org.apache.activemq.broker.TransportConnector | main
2016-07-03 16:51:14,012 | INFO  | Connector amqp stopped | org.apache.activemq.broker.TransportConnector | main
2016-07-03 16:51:14,013 | INFO  | Connector stomp stopped | org.apache.activemq.broker.TransportConnector | main
2016-07-03 16:51:14,013 | INFO  | socketQueue interrupted - stopping | org.apache.activemq.transport.tcp.TcpTransportServer | ActiveMQ Transport Server Thread Handler: amqp://0.0.0.0:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600
2016-07-03 16:51:14,013 | INFO  | socketQueue interrupted - stopping | org.apache.activemq.transport.tcp.TcpTransportServer | ActiveMQ Transport Server Thread Handler: stomp://0.0.0.0:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600
2016-07-03 16:51:14,016 | INFO  | socketQueue interrupted - stopping | org.apache.activemq.transport.tcp.TcpTransportServer | ActiveMQ Transport Server Thread Handler: mqtt://0.0.0.0:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600
2016-07-03 16:51:14,023 | ERROR | Could not accept connection : java.lang.InterruptedException | org.apache.activemq.broker.TransportConnector | ActiveMQ Transport Server Thread Handler: mqtt://0.0.0.0:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600
2016-07-03 16:51:14,016 | INFO  | Connector mqtt stopped | org.apache.activemq.broker.TransportConnector | main
2016-07-03 16:51:14,021 | ERROR | Could not accept connection : java.lang.InterruptedException | org.apache.activemq.broker.TransportConnector | ActiveMQ Transport Server Thread Handler: stomp://0.0.0.0:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600
2016-07-03 16:51:14,020 | ERROR | Could not accept connection : java.lang.InterruptedException | org.apache.activemq.broker.TransportConnector | ActiveMQ Transport Server Thread Handler: amqp://0.0.0.0:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600
2016-07-03 16:51:14,043 | INFO  | Connector ws stopped | org.apache.activemq.broker.TransportConnector | main
2016-07-03 16:51:14,051 | INFO  | PListStore:[/opt/apache-activemq-5.13.3/data/localhost/tmp_storage] stopped | org.apache.activemq.store.kahadb.plist.PListStoreImpl | main
2016-07-03 16:51:14,052 | INFO  | Stopping async queue tasks | org.apache.activemq.store.kahadb.KahaDBStore | main
2016-07-03 16:51:14,053 | INFO  | Stopping async topic tasks | org.apache.activemq.store.kahadb.KahaDBStore | main
2016-07-03 16:51:14,055 | INFO  | Stopped KahaDB | org.apache.activemq.store.kahadb.KahaDBStore | main
2016-07-03 16:51:14,127 | INFO  | Apache ActiveMQ 5.13.3 (localhost, ID:activemq.testlab.local-33670-1467544873205-0:1) uptime 1.387 seconds | org.apache.activemq.broker.BrokerService | main
2016-07-03 16:51:14,128 | INFO  | Apache ActiveMQ 5.13.3 (localhost, ID:activemq.testlab.local-33670-1467544873205-0:1) is shutdown | org.apache.activemq.broker.BrokerService | main
2016-07-03 16:51:14,130 | INFO  | Closing org.apache.activemq.xbean.XBeanBrokerFactory$1@67b64c45: startup date [Sun Jul 03 16:51:08 IST 2016]; root of context hierarchy | org.apache.activemq.xbean.XBeanBrokerFactory$1 | main
2016-07-03 16:51:14,138 | WARN  | Exception thrown from LifecycleProcessor on context close | org.apache.activemq.xbean.XBeanBrokerFactory$1 | main
java.lang.IllegalStateException: LifecycleProcessor not initialized - call 'refresh' before invoking lifecycle methods via the context: org.apache.activemq.xbean.XBeanBrokerFactory$1@67b64c45: startup date [Sun Jul 03 16:51:08 IST 2016]; root of context hierarchy
    at org.springframework.context.support.AbstractApplicationContext.getLifecycleProcessor(AbstractApplicationContext.java:357)[spring-context-4.1.9.RELEASE.jar:4.1.9.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:884)[spring-context-4.1.9.RELEASE.jar:4.1.9.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:843)[spring-context-4.1.9.RELEASE.jar:4.1.9.RELEASE]
    at org.apache.activemq.hooks.SpringContextHook.run(SpringContextHook.java:30)[activemq-spring-5.13.3.jar:5.13.3]
    at org.apache.activemq.broker.BrokerService.stop(BrokerService.java:873)[activemq-broker-5.13.3.jar:5.13.3]
    at org.apache.activemq.xbean.XBeanBrokerService.stop(XBeanBrokerService.java:122)[activemq-spring-5.13.3.jar:5.13.3]
    at org.apache.activemq.xbean.XBeanBrokerService.destroy(XBeanBrokerService.java:115)[activemq-spring-5.13.3.jar:5.13.3]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.8.0_91]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_91]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_91]
    at java.lang.reflect.Method.invoke(Method.java:498)[:1.8.0_91]
    at org.springframework.beans.factory.support.DisposableBeanAdapter.invokeCustomDestroyMethod(DisposableBeanAdapter.java:351)[spring-beans-4.1.9.RELEASE.jar:4.1.9.RELEASE]
    at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:274)[spring-beans-4.1.9.RELEASE.jar:4.1.9.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:578)[spring-beans-4.1.9.RELEASE.jar:4.1.9.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:554)[spring-beans-4.1.9.RELEASE.jar:4.1.9.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:900)[spring-beans-4.1.9.RELEASE.jar:4.1.9.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:523)[spring-beans-4.1.9.RELEASE.jar:4.1.9.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:907)[spring-beans-4.1.9.RELEASE.jar:4.1.9.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:915)[spring-context-4.1.9.RELEASE.jar:4.1.9.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:493)[spring-context-4.1.9.RELEASE.jar:4.1.9.RELEASE]
    at org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:64)[xbean-spring-3.18.jar:3.18]
    at org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:52)[xbean-spring-3.18.jar:3.18]
    at org.apache.activemq.xbean.XBeanBrokerFactory$1.<init>(XBeanBrokerFactory.java:104)[activemq-spring-5.13.3.jar:5.13.3]
    at org.apache.activemq.xbean.XBeanBrokerFactory.createApplicationContext(XBeanBrokerFactory.java:104)[activemq-spring-5.13.3.jar:5.13.3]
    at org.apache.activemq.xbean.XBeanBrokerFactory.createBroker(XBeanBrokerFactory.java:67)[activemq-spring-5.13.3.jar:5.13.3]
    at org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:71)[activemq-broker-5.13.3.jar:5.13.3]
    at org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:54)[activemq-broker-5.13.3.jar:5.13.3]
    at org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:87)[activemq-console-5.13.3.jar:5.13.3]
    at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:63)[activemq-console-5.13.3.jar:5.13.3]
    at org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand.java:154)[activemq-console-5.13.3.jar:5.13.3]
    at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:63)[activemq-console-5.13.3.jar:5.13.3]
    at org.apache.activemq.console.command.ShellCommand.main(ShellCommand.java:104)[activemq-console-5.13.3.jar:5.13.3]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.8.0_91]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_91]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_91]
    at java.lang.reflect.Method.invoke(Method.java:498)[:1.8.0_91]
    at org.apache.activemq.console.Main.runTaskClass(Main.java:262)[activemq.jar:5.13.3]
    at org.apache.activemq.console.Main.main(Main.java:115)[activemq.jar:5.13.3]
2016-07-03 16:51:14,146 | ERROR | Failed to load: class path resource [activemq.xml], reason: Error creating bean with name 'securityHandler' defined in class path resource [jetty.xml]: Cannot resolve reference to bean 'ldapLoginService' while setting bean property 'loginService'; nested exception is org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.eclipse.jetty.plus.jaas.JAASLoginService] for bean with name 'ldapLoginService' defined in class path resource [jetty.xml]; nested exception is java.lang.ClassNotFoundException: org.eclipse.jetty.plus.jaas.JAASLoginService | org.apache.activemq.xbean.XBeanBrokerFactory | main
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'securityHandler' defined in class path resource [jetty.xml]: Cannot resolve reference to bean 'ldapLoginService' while setting bean property 'loginService'; nested exception is org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.eclipse.jetty.plus.jaas.JAASLoginService] for bean with name 'ldapLoginService' defined in class path resource [jetty.xml]; nested exception is java.lang.ClassNotFoundException: org.eclipse.jetty.plus.jaas.JAASLoginService
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:359)[spring-beans-4.1.9.RELEASE.jar:4.1.9.RELEASE]
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:108)[spring-beans-4.1.9.RELEASE.jar:4.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1475)[spring-beans-4.1.9.RELEASE.jar:4.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1220)[spring-beans-4.1.9.RELEASE.jar:4.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537)[spring-beans-4.1.9.RELEASE.jar:4.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)[spring-beans-4.1.9.RELEASE.jar:4.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)[spring-beans-4.1.9.RELEASE.jar:4.1.9.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)[spring-beans-4.1.9.RELEASE.jar:4.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299)[spring-beans-4.1.9.RELEASE.jar:4.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)[spring-beans-4.1.9.RELEASE.jar:4.1.9.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:755)[spring-beans-4.1.9.RELEASE.jar:4.1.9.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:762)[spring-context-4.1.9.RELEASE.jar:4.1.9.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480)[spring-context-4.1.9.RELEASE.jar:4.1.9.RELEASE]
    at org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:64)[xbean-spring-3.18.jar:3.18]
    at org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:52)[xbean-spring-3.18.jar:3.18]
    at org.apache.activemq.xbean.XBeanBrokerFactory$1.<init>(XBeanBrokerFactory.java:104)[activemq-spring-5.13.3.jar:5.13.3]
    at org.apache.activemq.xbean.XBeanBrokerFactory.createApplicationContext(XBeanBrokerFactory.java:104)[activemq-spring-5.13.3.jar:5.13.3]
    at org.apache.activemq.xbean.XBeanBrokerFactory.createBroker(XBeanBrokerFactory.java:67)[activemq-spring-5.13.3.jar:5.13.3]
    at org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:71)[activemq-broker-5.13.3.jar:5.13.3]
    at org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:54)[activemq-broker-5.13.3.jar:5.13.3]
    at org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:87)[activemq-console-5.13.3.jar:5.13.3]
    at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:63)[activemq-console-5.13.3.jar:5.13.3]
    at org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand.java:154)[activemq-console-5.13.3.jar:5.13.3]
    at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:63)[activemq-console-5.13.3.jar:5.13.3]
    at org.apache.activemq.console.command.ShellCommand.main(ShellCommand.java:104)[activemq-console-5.13.3.jar:5.13.3]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.8.0_91]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_91]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_91]
    at java.lang.reflect.Method.invoke(Method.java:498)[:1.8.0_91]
    at org.apache.activemq.console.Main.runTaskClass(Main.java:262)[activemq.jar:5.13.3]
    at org.apache.activemq.console.Main.main(Main.java:115)[activemq.jar:5.13.3]
2016-07-03 16:51:13546 | INFO |监听以下位置的连接:tcp://activemq.testlab.local:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600 |org.apache.activemq.transport.TransportServerThreadSupport | main
2016-07-03 16:51:13549 |信息|连接器openwire已启动| org.apache.activemq.broker.TransportConnector | main
2016-07-03 16:51:13553 |信息|监听以下位置的连接:amqp://activemq.testlab.local:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600 |org.apache.activemq.transport.TransportServerThreadSupport | main
2016-07-03 16:51:13556 |信息|连接器amqp已启动| org.apache.activemq.broker.TransportConnector | main
2016-07-03 16:51:13560 |信息|监听以下位置的连接:stomp://activemq.testlab.local:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600 |org.apache.activemq.transport.TransportServerThreadSupport | main
2016-07-03 16:51:13562 |信息|连接器stomp启动| org.apache.activemq.broker.TransportConnector | main
2016-07-03 16:51:13565 |信息|监听以下位置的连接:mqtt://activemq.testlab.local:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600 |org.apache.activemq.transport.TransportServerThreadSupport | main
2016-07-03 16:51:13567 |信息|连接器mqtt已启动| org.apache.activemq.broker.TransportConnector | main
2016-07-03 16:51:13842警告ServletContext@o.e.j.s.ServletContextHandler@62010f5c{/,null,start}已发现路径为/| org.eclipse.jetty.security.SecurityHandler | main的http方法
2016-07-03 16:51:13886 | INFO |在ws://activemq.testlab.local:6161614?maximumConnections=1000&wireFormat.maxFrameSize=104857600 | org.apache.activemq.transport.ws.WSTransportServer | main
2016-07-03 16:51:13889 |信息|连接器已启动| org.apache.activemq.broker.TransportConnector | main
2016-07-03 16:51:13892 | INFO | Apache ActiveMQ 5.13.3(localhost,ID:ActiveMQ.testlab.local-33670-14675444873205-0:1)启动| org.Apache.ActiveMQ.broker.BrokerService |main
2016-07-03 16:51:13894 |信息|有关帮助或更多信息,请参阅:http://activemq.apache.org |org.apache.activemq.broker.BrokerService | main
2016-07-03 16:51:13897 |警告|存储限制为102400 mb(当前存储使用量为20 mb)。数据目录:/opt/apache-activemq-5.13.3/data/kahadb只有33047 mb的可用空间。-重置为最大可用磁盘空间:33047 mb | org.apache.activemq.broker.BrokerService | main
2016-07-03 16:51:13899 |警告|临时存储限制为51200 mb(当前存储使用量为0 mb)。数据目录:/opt/apache-activemq-5.13.3/data只有33027 mb的可用空间。-重置为最大可用磁盘空间:33027 mb | org.apache.activemq.broker.BrokerService | main
2016-07-03 16:51:14002 |警告|上下文初始化期间遇到异常-取消刷新尝试:org.springframework.beans.factory.BeanCreationException:创建在类路径资源[jetty.xml]中定义了名称为“securityHandler”的bean时出错:设置bean属性“loginService”时无法解析对bean“ldapLoginService”的引用;嵌套异常为org.springframework.beans.factory.CannotLoadBeanClassException:在类路径资源[jetty.xml]中定义的名为“ldapLoginService”的bean找不到类[org.eclipse.jetty.plus.jaas.JAASLoginService];嵌套异常是java.lang.ClassNotFoundException:org.eclipse.jetty.plus.jaas.JAASLoginService | org.apache.activemq.xbean.XBeanBrokerFactory$1 | main
2016-07-03 16:51:14007 | INFO | Apache ActiveMQ 5.13.3(localhost,ID:ActiveMQ.testlab.local-33670-14675444873205-0:1)正在关闭| org.Apache.ActiveMQ.broker.BrokerService | main
2016-07-03 16:51:14011 |信息|连接器openwire已停止| org.apache.activemq.broker.TransportConnector | main
2016-07-03 16:51:14012 |信息|连接器amqp停止| org.apache.activemq.broker.TransportConnector | main
2016-07-03 16:51:14013 |信息|连接器跺脚停止| org.apache.activemq.broker.TransportConnector | main
2016-07-03 16:51:14013 |信息| socketQueue中断-停止| org.apache.activemq.transport.tcp.tcpttransportserver | activemq传输服务器线程处理程序:amqp://0.0.0.0:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600
2016-07-03 16:51:14013 |信息| socketQueue中断-停止| org.apache.activemq.transport.tcp.tcpttransportserver | activemq传输服务器线程处理程序:stomp://0.0.0.0:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600
2016-07-03 16:51:14016 | INFO | socketQueue中断-停止| org.apache.activemq.transport.tcp.tcpttransportserver | activemq传输服务器线程处理程序:mqtt://0.0.0.0:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600
2016-07-03 16:51:14023 |错误|无法接受连接:java.lang.InterruptedException | org.apache.activemq.broker.TransportConnector | activemq传输服务器线程处理程序:mqtt://0.0.0.0:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600
2016-07-03 16:51:14016 |信息|连接器mqtt停止| org.apache.activemq.broker.TransportConnector | main
2016-
java.lang.ClassNotFoundException: org.eclipse.jetty.plus.jaas.JAASLoginService