You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by dsnopek <ds...@gmail.com> on 2006/12/05 00:40:29 UTC

ActiveMQ 4.1 war with jaas

Hello,

I built ActiveMQ 4.1 svn and deployed the WAR from
activemq-web-console/target/ under tomcat5.  It ran perfectly fine with the
default configuration.  However, when I enable authorization and
authentication via jaas, the server fails to start.  I know that my
configuration is correct because it works when running in standalone mode
and that it is required to copy the activemq-jaas-4.1.0-incubator.jar into
WEB-INF/lib/.  I know that my login.config and associated files are being
loaded, because when I move them away, I get an exception telling me it
can't read them.

What is required to get this to work?

Thanks!
David Snopek.

This is the enormous stack trace I get:

2006-12-04 12:10:18 StandardContext[/activemq]Exception sending context
initialized event to listener instance of class
org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'brokerService' defined in ServletContext resource
[/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested
exception is org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'org.apache.activemq.broker.util.CommandAgent'
defined in ServletContext resource [/WEB-INF/activemq.xml]: Invocation of
init method failed; nested exception is javax.jms.JMSException: User name or
password is invalid.
Caused by: org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'org.apache.activemq.broker.util.CommandAgent'
defined in ServletContext resource [/WEB-INF/activemq.xml]: Invocation of
init method failed; nested exception is javax.jms.JMSException: User name or
password is invalid.
Caused by: javax.jms.JMSException: User name or password is invalid.
        at
org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:46)
        at
org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1191)
        at
org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1273)
        at
org.apache.activemq.ActiveMQConnection.start(ActiveMQConnection.java:449)
        at
org.apache.activemq.broker.util.CommandAgent.getConnection(CommandAgent.java:145)
        at
org.apache.activemq.broker.util.CommandAgent.start(CommandAgent.java:55)
        at
org.apache.activemq.broker.util.CommandAgent.afterPropertiesSet(CommandAgent.java:100)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1062)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1029)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:420)
        at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
        at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
        at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287)
        at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:348)
        at
org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:88)
        at
org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:76)
        at
org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:72)
        at
org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:68)
        at
org.apache.activemq.xbean.BrokerFactoryBean.afterPropertiesSet(BrokerFactoryBean.java:84)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1062)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1029)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:420)
        at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
        at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
        at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287)
        at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:348)
        at
org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:156)
        at
org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
        at
org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
        at
org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
        at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827)
        at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4343)
        at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:823)
        at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
        at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595)
        at
org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:277)
        at
org.apache.catalina.core.StandardHost.install(StandardHost.java:832)
        at
org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:617)
        at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:431)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:968)
        at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:349)
        at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1091)
        at
org.apache.catalina.core.StandardHost.start(StandardHost.java:789)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)
        at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478)
        at
org.apache.catalina.core.StandardService.start(StandardService.java:480)
        at
org.apache.catalina.core.StandardServer.start(StandardServer.java:2313)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:556)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:284)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:422)
Caused by: java.lang.SecurityException: User name or password is invalid.
        at
org.apache.activemq.security.JaasAuthenticationBroker.addConnection(JaasAuthenticationBroker.java:84)
        at
org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:82)
        at
org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:92)
        at
org.apache.activemq.broker.TransportConnection.processAddConnection(TransportConnection.java:690)
        at
org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:121)
        at
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:287)
        at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:178)
        at
org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:95)
        at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:65)
        at
org.apache.activemq.transport.vm.VMTransport.syncOneWay(VMTransport.java:96)
        at
org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:83)
        at
org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:43)
        at
org.apache.activemq.transport.ResponseCorrelator.asyncRequest(ResponseCorrelator.java:69)
        at
org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:74)
        at
org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1185)
        ... 57 more
Caused by: javax.security.auth.login.LoginException:
java.lang.NullPointerException
        at java.util.Hashtable.get(Hashtable.java:336)
        at java.util.Properties.getProperty(Properties.java:774)
        at
org.apache.activemq.jaas.PropertiesLoginModule.login(PropertiesLoginModule.java:112)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at
javax.security.auth.login.LoginContext.invoke(LoginContext.java:769)
        at
javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
        at
javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
        at java.security.AccessController.doPrivileged(Native Method)
        at
javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
        at
javax.security.auth.login.LoginContext.login(LoginContext.java:579)
        at
org.apache.activemq.security.JaasAuthenticationBroker.addConnection(JaasAuthenticationBroker.java:77)
        at
org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:82)
        at
org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:92)
        at
org.apache.activemq.broker.TransportConnection.processAddConnection(TransportConnection.java:690)
        at
org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:121)
        at
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:287)
        at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:178)
        at
org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:95)
        at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:65)
        at
org.apache.activemq.transport.vm.VMTransport.syncOneWay(VMTransport.java:96)
        at
org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:83)
        at
org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:43)
        at
org.apache.activemq.transport.ResponseCorrelator.asyncRequest(ResponseCorrelator.java:69)
        at
org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:74)
        at
org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1185)
        at
org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1273)
        at
org.apache.activemq.ActiveMQConnection.start(ActiveMQConnection.java:449)
        at
org.apache.activemq.broker.util.CommandAgent.getConnection(CommandAgent.java:145)
        at
org.apache.activemq.broker.util.CommandAgent.start(CommandAgent.java:55)
        at
org.apache.activemq.broker.util.CommandAgent.afterPropertiesSet(CommandAgent.java:100)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1062)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1029)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:420)
        at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
        at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
        at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287)
        at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:348)
        at
org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:88)
        at
org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:76)
        at
org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:72)
        at
org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:68)
        at
org.apache.activemq.xbean.BrokerFactoryBean.afterPropertiesSet(BrokerFactoryBean.java:84)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1062)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1029)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:420)
        at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
        at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
        at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287)
        at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:348)
        at
org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:156)
        at
org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
        at
org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
        at
org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
        at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827)
        at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4343)
        at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:823)
        at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
        at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595)
        at
org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:277)
        at
org.apache.catalina.core.StandardHost.install(StandardHost.java:832)
        at
org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:617)
        at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:431)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:968)
        at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:349)
        at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1091)
        at
org.apache.catalina.core.StandardHost.start(StandardHost.java:789)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)
        at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478)
        at
org.apache.catalina.core.StandardService.start(StandardService.java:480)
        at
org.apache.catalina.core.StandardServer.start(StandardServer.java:2313)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:556)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:284)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:422)

        at
javax.security.auth.login.LoginContext.invoke(LoginContext.java:872)
        at
javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
        at
javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
        at java.security.AccessController.doPrivileged(Native Method)
        at
javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
        at
javax.security.auth.login.LoginContext.login(LoginContext.java:579)
        at
org.apache.activemq.security.JaasAuthenticationBroker.addConnection(JaasAuthenticationBroker.java:77)
        ... 71 more

-- 
View this message in context: http://www.nabble.com/ActiveMQ-4.1-war-with-jaas-tf2757900.html#a7690096
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: ActiveMQ 4.1 war with jaas

Posted by dsnopek <ds...@gmail.com>.

Ah ha!  Removing the <commandAgent/> appears to have solved it.

Thank you so much!
David Snopek.


Ken Gallo wrote:
> 
> Just comment out 
> 
>     <commandAgent xmlns="http://activemq.org/config/1.0"/>
> 
> and put the activemq-jaas jar in WEB-INF/lib directory.
> 
> HTH,
> Ken
> 
> 
> dsnopek wrote:
>> 
>> 
>> My activemq.xml below is below.  As mentioned before, I do have the
>> login.config, user.properties, and group.properties file setup correctly
>> (as this configuration works standalone) and I know that they are being
>> read (because I get errors about not being able to read them when I move
>> them away).
>> 
>> Thank you,
>> David Snopek.
>> 
>>   <broker useJmx="true" xmlns="http://activemq.org/config/1.0">
>> 
>>  <!-- DRS: for security -->
>>     <plugins>
>>       <jaasAuthenticationPlugin configuration="activemq-domain"/>
>> 
>>       <authorizationPlugin>
>>         <map>
>>           <authorizationMap>
>>             <authorizationEntries>
>>               <authorizationEntry queue=">"
>>                 read="admins"
>>                 write="admins"
>>                 admin="admins"
>>               />
>>               <!--
>>               <authorizationEntry queue="test.>"
>>                 read="guests,users"
>>                 write="guests,users"
>>                 admin="guests,users"
>>               />
>>               -->
>>               <authorizationEntry queue="cs3_file.>"
>>                 read="replication,admins"
>>                 write="pro,admins"
>>                 admin="pro,replication,admins"
>>               />
>>               <authorizationEntry queue="cs3_file.failed.>"
>>                 read="replication,admins"
>>                 write="replication,admins"
>>                 admin="replication,admins"
>>               />
>>              <authorizationEntry queue="test.>"
>>                 read="test"
>>                 write="test"
>>                 admin="test"
>>               />
>>               <authorizationEntry topic=">"
>>             read="admins"
>>                 write="admins"
>>                 admin="admins"
>>               />
>>               <authorizationEntry topic="ActiveMQ.Advisory.>"
>>                 read="guests,users,test"
>>                 write="guests,users,test"
>>                 admin="guests,users,test"
>>               />
>>             </authorizationEntries>
>>           </authorizationMap>
>>         </map>
>>       </authorizationPlugin>
>>     </plugins>
>> 
>>   <!--  Use the following to set the broker memory limit (in bytes)
>>     <memoryManager>  
>>         <usageManager id="memory-manager" limit="1048576"/>
>>     </memoryManager>
>>     -->
>> 
>>     <!-- In ActiveMQ 4, you can setup destination policies -->
>>     <destinationPolicy>
>>       <policyMap>
>>         <policyEntries>
>> 
>>           <policyEntry topic="FOO.>">
>>             <dispatchPolicy>
>>               <strictOrderDispatchPolicy/>
>>             </dispatchPolicy>
>>             <subscriptionRecoveryPolicy>
>>               <lastImageSubscriptionRecoveryPolicy/>
>>             </subscriptionRecoveryPolicy>
>>           </policyEntry>
>> 
>>         </policyEntries>
>>       </policyMap>
>>     </destinationPolicy>
>> 
>> 
>>     <persistenceAdapter>
>>       <journaledJDBC journalLogFiles="5"
>> dataDirectory="/opt/tomcat5/webapps/activemq-data"/>
>>       <!-- To use a different datasource, use th following syntax : -->
>>       <!-- 
>>       <journaledJDBC journalLogFiles="5" dataDirectory="activemq-data"
>> dataSource="#postgres-ds"/>
>>        -->
>>    </persistenceAdapter>
>> 
>>     <transportConnectors>
>>       <!--
>>       <transportConnector name="openwire" uri="tcp://localhost:61616"
>> discoveryUri="multicast://default"/>
>>       -->
>>       <transportConnector name="stomp" uri="stomp://localhost:61613"/>
>>       <!--
>>       <transportConnector name="xmpp" uri="xmpp://localhost:61222"/>
>>       -->
>>     </transportConnectors>
>> 
>>     <networkConnectors>
>>       <!-- by default just auto discover the other brokers -->
>>       <networkConnector name="defaultNetwork" uri="multicast://default"/>
>>       <networkConnector name="host1 and host2"
>> uri="static://(tcp://host1:61616,tcp://host2:61616)" failover="true"/>
>>       -->
>>     </networkConnectors>
>> 
>>   </broker>
>> 
>>   <!-- lets create a command agent to respond to admin commands over JMS
>> or XMPP on the ActiveMQ.Agent topic -->
>>   <commandAgent xmlns="http://activemq.org/config/1.0"/>
>> 
>>   <!--  This xbean configuration file supports all the standard spring
>> xml configuration options -->
>> 
>>   <!-- Postgres DataSource Sample Setup -->
>>   <!-- 
>>   <bean id="postgres-ds" class="org.postgresql.ds.PGPoolingDataSource">
>>     <property name="serverName" value="localhost"/>
>>     <property name="databaseName" value="activemq"/>
>>     <property name="portNumber" value="0"/>
>>     <property name="user" value="activemq"/>
>>     <property name="password" value="activemq"/>
>>     <property name="dataSourceName" value="postgres"/>
>>     <property name="initialConnections" value="1"/>
>>     <property name="maxConnections" value="10"/>
>>   </bean>
>>   -->
>> 
>>   <!-- MySql DataSource Sample Setup -->
>>   <!-- 
>>   <bean id="mysql-ds" class="org.apache.commons.dbcp.BasicDataSource"
>> destroy-method="close">
>>     <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
>>     <property name="url"
>> value="jdbc:mysql://localhost/activemq?relaxAutoCommit=true"/>
>>     <property name="username" value="activemq"/>
>>     <property name="password" value="activemq"/>
>>     <property name="poolPreparedStatements" value="true"/>
>>   </bean>
>>   -->
>> 
>>   <!-- Embedded Derby DataSource Sample Setup -->
>>   <!-- 
>>   <bean id="derby-ds" class="org.apache.derby.jdbc.EmbeddedDataSource">
>>     <property name="databaseName" value="derbydb"/>
>>     <property name="createDatabase" value="create"/>
>>   </bean>
>>   -->
>> </beans>
>> 
>> 
>> Ken Gallo wrote:
>>> 
>>> Can you post your activemq.xml?
>>> 
>>> Thanks,
>>> Ken
>>> 
>>> 
>>> dsnopek wrote:
>>>> 
>>>> Hello,
>>>> 
>>>> I built ActiveMQ 4.1 svn and deployed the WAR from
>>>> activemq-web-console/target/ under tomcat5.  It ran perfectly fine with
>>>> the default configuration.  However, when I enable authorization and
>>>> authentication via jaas, the server fails to start.  I know that my
>>>> configuration is correct because it works when running in standalone
>>>> mode and that it is required to copy the
>>>> activemq-jaas-4.1.0-incubator.jar into WEB-INF/lib/.  I know that my
>>>> login.config and associated files are being loaded, because when I move
>>>> them away, I get an exception telling me it can't read them.
>>>> 
>>>> What is required to get this to work?
>>>> 
>>>> Thanks!
>>>> David Snopek.
>>>> 
>>>> This is the enormous stack trace I get:
>>>> 
>>>> 2006-12-04 12:10:18 StandardContext[/activemq]Exception sending context
>>>> initialized event to listener instance of class
>>>> org.springframework.web.context.ContextLoaderListener
>>>> org.springframework.beans.factory.BeanCreationException: Error creating
>>>> bean with name 'brokerService' defined in ServletContext resource
>>>> [/WEB-INF/applicationContext.xml]: Invocation of init method failed;
>>>> nested exception is
>>>> org.springframework.beans.factory.BeanCreationException: Error creating
>>>> bean with name 'org.apache.activemq.broker.util.CommandAgent' defined
>>>> in ServletContext resource [/WEB-INF/activemq.xml]: Invocation of init
>>>> method failed; nested exception is javax.jms.JMSException: User name or
>>>> password is invalid.
>>>> Caused by: org.springframework.beans.factory.BeanCreationException:
>>>> Error creating bean with name
>>>> 'org.apache.activemq.broker.util.CommandAgent' defined in
>>>> ServletContext resource [/WEB-INF/activemq.xml]: Invocation of init
>>>> method failed; nested exception is javax.jms.JMSException: User name or
>>>> password is invalid.
>>>> Caused by: javax.jms.JMSException: User name or password is invalid.
>>>>         at
>>>> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:46)
>>>>         at
>>>> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1191)
>>>>         at
>>>> org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1273)
>>>>         at
>>>> org.apache.activemq.ActiveMQConnection.start(ActiveMQConnection.java:449)
>>>>         at
>>>> org.apache.activemq.broker.util.CommandAgent.getConnection(CommandAgent.java:145)
>>>>         at
>>>> org.apache.activemq.broker.util.CommandAgent.start(CommandAgent.java:55)
>>>>         at
>>>> org.apache.activemq.broker.util.CommandAgent.afterPropertiesSet(CommandAgent.java:100)
>>>>         at
>>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1062)
>>>>         at
>>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1029)
>>>>         at
>>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:420)
>>>>         at
>>>> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
>>>>         at
>>>> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
>>>>         at
>>>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
>>>>         at
>>>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
>>>>         at
>>>> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287)
>>>>         at
>>>> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:348)
>>>>         at
>>>> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:88)
>>>>         at
>>>> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:76)
>>>>         at
>>>> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:72)
>>>>         at
>>>> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:68)
>>>>         at
>>>> org.apache.activemq.xbean.BrokerFactoryBean.afterPropertiesSet(BrokerFactoryBean.java:84)
>>>>         at
>>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1062)
>>>>         at
>>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1029)
>>>>         at
>>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:420)
>>>>         at
>>>> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
>>>>         at
>>>> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
>>>>         at
>>>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
>>>>         at
>>>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
>>>>         at
>>>> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287)
>>>>         at
>>>> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:348)
>>>>         at
>>>> org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:156)
>>>>         at
>>>> org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
>>>>         at
>>>> org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
>>>>         at
>>>> org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
>>>>         at
>>>> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827)
>>>>         at
>>>> org.apache.catalina.core.StandardContext.start(StandardContext.java:4343)
>>>>         at
>>>> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:823)
>>>>         at
>>>> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
>>>>         at
>>>> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595)
>>>>         at
>>>> org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:277)
>>>>         at
>>>> org.apache.catalina.core.StandardHost.install(StandardHost.java:832)
>>>>         at
>>>> org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:617)
>>>>         at
>>>> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:431)
>>>>         at
>>>> org.apache.catalina.startup.HostConfig.start(HostConfig.java:968)
>>>>         at
>>>> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:349)
>>>>         at
>>>> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
>>>>         at
>>>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1091)
>>>>         at
>>>> org.apache.catalina.core.StandardHost.start(StandardHost.java:789)
>>>>         at
>>>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)
>>>>         at
>>>> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478)
>>>>         at
>>>> org.apache.catalina.core.StandardService.start(StandardService.java:480)
>>>>         at
>>>> org.apache.catalina.core.StandardServer.start(StandardServer.java:2313)
>>>>         at
>>>> org.apache.catalina.startup.Catalina.start(Catalina.java:556)
>>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>         at
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>         at
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>         at java.lang.reflect.Method.invoke(Method.java:585)
>>>>         at
>>>> org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:284)
>>>>         at
>>>> org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:422)
>>>> Caused by: java.lang.SecurityException: User name or password is
>>>> invalid.
>>>>         at
>>>> org.apache.activemq.security.JaasAuthenticationBroker.addConnection(JaasAuthenticationBroker.java:84)
>>>>         at
>>>> org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:82)
>>>>         at
>>>> org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:92)
>>>>         at
>>>> org.apache.activemq.broker.TransportConnection.processAddConnection(TransportConnection.java:690)
>>>>         at
>>>> org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:121)
>>>>         at
>>>> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:287)
>>>>         at
>>>> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:178)
>>>>         at
>>>> org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:95)
>>>>         at
>>>> org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:65)
>>>>         at
>>>> org.apache.activemq.transport.vm.VMTransport.syncOneWay(VMTransport.java:96)
>>>>         at
>>>> org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:83)
>>>>         at
>>>> org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:43)
>>>>         at
>>>> org.apache.activemq.transport.ResponseCorrelator.asyncRequest(ResponseCorrelator.java:69)
>>>>         at
>>>> org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:74)
>>>>         at
>>>> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1185)
>>>>         ... 57 more
>>>> Caused by: javax.security.auth.login.LoginException:
>>>> java.lang.NullPointerException
>>>>         at java.util.Hashtable.get(Hashtable.java:336)
>>>>         at java.util.Properties.getProperty(Properties.java:774)
>>>>         at
>>>> org.apache.activemq.jaas.PropertiesLoginModule.login(PropertiesLoginModule.java:112)
>>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>         at
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>         at
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>         at java.lang.reflect.Method.invoke(Method.java:585)
>>>>         at
>>>> javax.security.auth.login.LoginContext.invoke(LoginContext.java:769)
>>>>         at
>>>> javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
>>>>         at
>>>> javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
>>>>         at java.security.AccessController.doPrivileged(Native Method)
>>>>         at
>>>> javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
>>>>         at
>>>> javax.security.auth.login.LoginContext.login(LoginContext.java:579)
>>>>         at
>>>> org.apache.activemq.security.JaasAuthenticationBroker.addConnection(JaasAuthenticationBroker.java:77)
>>>>         at
>>>> org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:82)
>>>>         at
>>>> org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:92)
>>>>         at
>>>> org.apache.activemq.broker.TransportConnection.processAddConnection(TransportConnection.java:690)
>>>>         at
>>>> org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:121)
>>>>         at
>>>> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:287)
>>>>         at
>>>> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:178)
>>>>         at
>>>> org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:95)
>>>>         at
>>>> org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:65)
>>>>         at
>>>> org.apache.activemq.transport.vm.VMTransport.syncOneWay(VMTransport.java:96)
>>>>         at
>>>> org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:83)
>>>>         at
>>>> org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:43)
>>>>         at
>>>> org.apache.activemq.transport.ResponseCorrelator.asyncRequest(ResponseCorrelator.java:69)
>>>>         at
>>>> org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:74)
>>>>         at
>>>> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1185)
>>>>         at
>>>> org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1273)
>>>>         at
>>>> org.apache.activemq.ActiveMQConnection.start(ActiveMQConnection.java:449)
>>>>         at
>>>> org.apache.activemq.broker.util.CommandAgent.getConnection(CommandAgent.java:145)
>>>>         at
>>>> org.apache.activemq.broker.util.CommandAgent.start(CommandAgent.java:55)
>>>>         at
>>>> org.apache.activemq.broker.util.CommandAgent.afterPropertiesSet(CommandAgent.java:100)
>>>>         at
>>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1062)
>>>>         at
>>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1029)
>>>>         at
>>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:420)
>>>>         at
>>>> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
>>>>         at
>>>> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
>>>>         at
>>>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
>>>>         at
>>>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
>>>>         at
>>>> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287)
>>>>         at
>>>> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:348)
>>>>         at
>>>> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:88)
>>>>         at
>>>> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:76)
>>>>         at
>>>> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:72)
>>>>         at
>>>> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:68)
>>>>         at
>>>> org.apache.activemq.xbean.BrokerFactoryBean.afterPropertiesSet(BrokerFactoryBean.java:84)
>>>>         at
>>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1062)
>>>>         at
>>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1029)
>>>>         at
>>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:420)
>>>>         at
>>>> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
>>>>         at
>>>> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
>>>>         at
>>>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
>>>>         at
>>>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
>>>>         at
>>>> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287)
>>>>         at
>>>> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:348)
>>>>         at
>>>> org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:156)
>>>>         at
>>>> org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
>>>>         at
>>>> org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
>>>>         at
>>>> org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
>>>>         at
>>>> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827)
>>>>         at
>>>> org.apache.catalina.core.StandardContext.start(StandardContext.java:4343)
>>>>         at
>>>> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:823)
>>>>         at
>>>> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
>>>>         at
>>>> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595)
>>>>         at
>>>> org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:277)
>>>>         at
>>>> org.apache.catalina.core.StandardHost.install(StandardHost.java:832)
>>>>         at
>>>> org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:617)
>>>>         at
>>>> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:431)
>>>>         at
>>>> org.apache.catalina.startup.HostConfig.start(HostConfig.java:968)
>>>>         at
>>>> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:349)
>>>>         at
>>>> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
>>>>         at
>>>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1091)
>>>>         at
>>>> org.apache.catalina.core.StandardHost.start(StandardHost.java:789)
>>>>         at
>>>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)
>>>>         at
>>>> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478)
>>>>         at
>>>> org.apache.catalina.core.StandardService.start(StandardService.java:480)
>>>>         at
>>>> org.apache.catalina.core.StandardServer.start(StandardServer.java:2313)
>>>>         at
>>>> org.apache.catalina.startup.Catalina.start(Catalina.java:556)
>>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>         at
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>         at
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>         at java.lang.reflect.Method.invoke(Method.java:585)
>>>>         at
>>>> org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:284)
>>>>         at
>>>> org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:422)
>>>> 
>>>>         at
>>>> javax.security.auth.login.LoginContext.invoke(LoginContext.java:872)
>>>>         at
>>>> javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
>>>>         at
>>>> javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
>>>>         at java.security.AccessController.doPrivileged(Native Method)
>>>>         at
>>>> javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
>>>>         at
>>>> javax.security.auth.login.LoginContext.login(LoginContext.java:579)
>>>>         at
>>>> org.apache.activemq.security.JaasAuthenticationBroker.addConnection(JaasAuthenticationBroker.java:77)
>>>>         ... 71 more
>>>> 
>>>> 
>>> 
>>> 
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/ActiveMQ-4.1-war-with-jaas-tf2757900.html#a7722554
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: ActiveMQ 4.1 war with jaas

Posted by Ken Gallo <kg...@exist.com>.
Just comment out 

    <commandAgent xmlns="http://activemq.org/config/1.0"/>

and put the activemq-jaas jar in WEB-INF/lib directory.

HTH,
Ken


dsnopek wrote:
> 
> 
> My activemq.xml below is below.  As mentioned before, I do have the
> login.config, user.properties, and group.properties file setup correctly
> (as this configuration works standalone) and I know that they are being
> read (because I get errors about not being able to read them when I move
> them away).
> 
> Thank you,
> David Snopek.
> 
>   <broker useJmx="true" xmlns="http://activemq.org/config/1.0">
> 
>  <!-- DRS: for security -->
>     <plugins>
>       <jaasAuthenticationPlugin configuration="activemq-domain"/>
> 
>       <authorizationPlugin>
>         <map>
>           <authorizationMap>
>             <authorizationEntries>
>               <authorizationEntry queue=">"
>                 read="admins"
>                 write="admins"
>                 admin="admins"
>               />
>               <!--
>               <authorizationEntry queue="test.>"
>                 read="guests,users"
>                 write="guests,users"
>                 admin="guests,users"
>               />
>               -->
>               <authorizationEntry queue="cs3_file.>"
>                 read="replication,admins"
>                 write="pro,admins"
>                 admin="pro,replication,admins"
>               />
>               <authorizationEntry queue="cs3_file.failed.>"
>                 read="replication,admins"
>                 write="replication,admins"
>                 admin="replication,admins"
>               />
>              <authorizationEntry queue="test.>"
>                 read="test"
>                 write="test"
>                 admin="test"
>               />
>               <authorizationEntry topic=">"
>             read="admins"
>                 write="admins"
>                 admin="admins"
>               />
>               <authorizationEntry topic="ActiveMQ.Advisory.>"
>                 read="guests,users,test"
>                 write="guests,users,test"
>                 admin="guests,users,test"
>               />
>             </authorizationEntries>
>           </authorizationMap>
>         </map>
>       </authorizationPlugin>
>     </plugins>
> 
>   <!--  Use the following to set the broker memory limit (in bytes)
>     <memoryManager>  
>         <usageManager id="memory-manager" limit="1048576"/>
>     </memoryManager>
>     -->
> 
>     <!-- In ActiveMQ 4, you can setup destination policies -->
>     <destinationPolicy>
>       <policyMap>
>         <policyEntries>
> 
>           <policyEntry topic="FOO.>">
>             <dispatchPolicy>
>               <strictOrderDispatchPolicy/>
>             </dispatchPolicy>
>             <subscriptionRecoveryPolicy>
>               <lastImageSubscriptionRecoveryPolicy/>
>             </subscriptionRecoveryPolicy>
>           </policyEntry>
> 
>         </policyEntries>
>       </policyMap>
>     </destinationPolicy>
> 
> 
>     <persistenceAdapter>
>       <journaledJDBC journalLogFiles="5"
> dataDirectory="/opt/tomcat5/webapps/activemq-data"/>
>       <!-- To use a different datasource, use th following syntax : -->
>       <!-- 
>       <journaledJDBC journalLogFiles="5" dataDirectory="activemq-data"
> dataSource="#postgres-ds"/>
>        -->
>    </persistenceAdapter>
> 
>     <transportConnectors>
>       <!--
>       <transportConnector name="openwire" uri="tcp://localhost:61616"
> discoveryUri="multicast://default"/>
>       -->
>       <transportConnector name="stomp" uri="stomp://localhost:61613"/>
>       <!--
>       <transportConnector name="xmpp" uri="xmpp://localhost:61222"/>
>       -->
>     </transportConnectors>
> 
>     <networkConnectors>
>       <!-- by default just auto discover the other brokers -->
>       <networkConnector name="defaultNetwork" uri="multicast://default"/>
>       <networkConnector name="host1 and host2"
> uri="static://(tcp://host1:61616,tcp://host2:61616)" failover="true"/>
>       -->
>     </networkConnectors>
> 
>   </broker>
> 
>   <!-- lets create a command agent to respond to admin commands over JMS
> or XMPP on the ActiveMQ.Agent topic -->
>   <commandAgent xmlns="http://activemq.org/config/1.0"/>
> 
>   <!--  This xbean configuration file supports all the standard spring xml
> configuration options -->
> 
>   <!-- Postgres DataSource Sample Setup -->
>   <!-- 
>   <bean id="postgres-ds" class="org.postgresql.ds.PGPoolingDataSource">
>     <property name="serverName" value="localhost"/>
>     <property name="databaseName" value="activemq"/>
>     <property name="portNumber" value="0"/>
>     <property name="user" value="activemq"/>
>     <property name="password" value="activemq"/>
>     <property name="dataSourceName" value="postgres"/>
>     <property name="initialConnections" value="1"/>
>     <property name="maxConnections" value="10"/>
>   </bean>
>   -->
> 
>   <!-- MySql DataSource Sample Setup -->
>   <!-- 
>   <bean id="mysql-ds" class="org.apache.commons.dbcp.BasicDataSource"
> destroy-method="close">
>     <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
>     <property name="url"
> value="jdbc:mysql://localhost/activemq?relaxAutoCommit=true"/>
>     <property name="username" value="activemq"/>
>     <property name="password" value="activemq"/>
>     <property name="poolPreparedStatements" value="true"/>
>   </bean>
>   -->
> 
>   <!-- Embedded Derby DataSource Sample Setup -->
>   <!-- 
>   <bean id="derby-ds" class="org.apache.derby.jdbc.EmbeddedDataSource">
>     <property name="databaseName" value="derbydb"/>
>     <property name="createDatabase" value="create"/>
>   </bean>
>   -->
> </beans>
> 
> 
> Ken Gallo wrote:
>> 
>> Can you post your activemq.xml?
>> 
>> Thanks,
>> Ken
>> 
>> 
>> dsnopek wrote:
>>> 
>>> Hello,
>>> 
>>> I built ActiveMQ 4.1 svn and deployed the WAR from
>>> activemq-web-console/target/ under tomcat5.  It ran perfectly fine with
>>> the default configuration.  However, when I enable authorization and
>>> authentication via jaas, the server fails to start.  I know that my
>>> configuration is correct because it works when running in standalone
>>> mode and that it is required to copy the
>>> activemq-jaas-4.1.0-incubator.jar into WEB-INF/lib/.  I know that my
>>> login.config and associated files are being loaded, because when I move
>>> them away, I get an exception telling me it can't read them.
>>> 
>>> What is required to get this to work?
>>> 
>>> Thanks!
>>> David Snopek.
>>> 
>>> This is the enormous stack trace I get:
>>> 
>>> 2006-12-04 12:10:18 StandardContext[/activemq]Exception sending context
>>> initialized event to listener instance of class
>>> org.springframework.web.context.ContextLoaderListener
>>> org.springframework.beans.factory.BeanCreationException: Error creating
>>> bean with name 'brokerService' defined in ServletContext resource
>>> [/WEB-INF/applicationContext.xml]: Invocation of init method failed;
>>> nested exception is
>>> org.springframework.beans.factory.BeanCreationException: Error creating
>>> bean with name 'org.apache.activemq.broker.util.CommandAgent' defined in
>>> ServletContext resource [/WEB-INF/activemq.xml]: Invocation of init
>>> method failed; nested exception is javax.jms.JMSException: User name or
>>> password is invalid.
>>> Caused by: org.springframework.beans.factory.BeanCreationException:
>>> Error creating bean with name
>>> 'org.apache.activemq.broker.util.CommandAgent' defined in ServletContext
>>> resource [/WEB-INF/activemq.xml]: Invocation of init method failed;
>>> nested exception is javax.jms.JMSException: User name or password is
>>> invalid.
>>> Caused by: javax.jms.JMSException: User name or password is invalid.
>>>         at
>>> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:46)
>>>         at
>>> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1191)
>>>         at
>>> org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1273)
>>>         at
>>> org.apache.activemq.ActiveMQConnection.start(ActiveMQConnection.java:449)
>>>         at
>>> org.apache.activemq.broker.util.CommandAgent.getConnection(CommandAgent.java:145)
>>>         at
>>> org.apache.activemq.broker.util.CommandAgent.start(CommandAgent.java:55)
>>>         at
>>> org.apache.activemq.broker.util.CommandAgent.afterPropertiesSet(CommandAgent.java:100)
>>>         at
>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1062)
>>>         at
>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1029)
>>>         at
>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:420)
>>>         at
>>> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
>>>         at
>>> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
>>>         at
>>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
>>>         at
>>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
>>>         at
>>> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287)
>>>         at
>>> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:348)
>>>         at
>>> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:88)
>>>         at
>>> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:76)
>>>         at
>>> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:72)
>>>         at
>>> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:68)
>>>         at
>>> org.apache.activemq.xbean.BrokerFactoryBean.afterPropertiesSet(BrokerFactoryBean.java:84)
>>>         at
>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1062)
>>>         at
>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1029)
>>>         at
>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:420)
>>>         at
>>> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
>>>         at
>>> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
>>>         at
>>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
>>>         at
>>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
>>>         at
>>> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287)
>>>         at
>>> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:348)
>>>         at
>>> org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:156)
>>>         at
>>> org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
>>>         at
>>> org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
>>>         at
>>> org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
>>>         at
>>> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827)
>>>         at
>>> org.apache.catalina.core.StandardContext.start(StandardContext.java:4343)
>>>         at
>>> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:823)
>>>         at
>>> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
>>>         at
>>> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595)
>>>         at
>>> org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:277)
>>>         at
>>> org.apache.catalina.core.StandardHost.install(StandardHost.java:832)
>>>         at
>>> org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:617)
>>>         at
>>> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:431)
>>>         at
>>> org.apache.catalina.startup.HostConfig.start(HostConfig.java:968)
>>>         at
>>> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:349)
>>>         at
>>> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
>>>         at
>>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1091)
>>>         at
>>> org.apache.catalina.core.StandardHost.start(StandardHost.java:789)
>>>         at
>>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)
>>>         at
>>> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478)
>>>         at
>>> org.apache.catalina.core.StandardService.start(StandardService.java:480)
>>>         at
>>> org.apache.catalina.core.StandardServer.start(StandardServer.java:2313)
>>>         at org.apache.catalina.startup.Catalina.start(Catalina.java:556)
>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>         at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>         at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>         at java.lang.reflect.Method.invoke(Method.java:585)
>>>         at
>>> org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:284)
>>>         at
>>> org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:422)
>>> Caused by: java.lang.SecurityException: User name or password is
>>> invalid.
>>>         at
>>> org.apache.activemq.security.JaasAuthenticationBroker.addConnection(JaasAuthenticationBroker.java:84)
>>>         at
>>> org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:82)
>>>         at
>>> org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:92)
>>>         at
>>> org.apache.activemq.broker.TransportConnection.processAddConnection(TransportConnection.java:690)
>>>         at
>>> org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:121)
>>>         at
>>> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:287)
>>>         at
>>> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:178)
>>>         at
>>> org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:95)
>>>         at
>>> org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:65)
>>>         at
>>> org.apache.activemq.transport.vm.VMTransport.syncOneWay(VMTransport.java:96)
>>>         at
>>> org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:83)
>>>         at
>>> org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:43)
>>>         at
>>> org.apache.activemq.transport.ResponseCorrelator.asyncRequest(ResponseCorrelator.java:69)
>>>         at
>>> org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:74)
>>>         at
>>> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1185)
>>>         ... 57 more
>>> Caused by: javax.security.auth.login.LoginException:
>>> java.lang.NullPointerException
>>>         at java.util.Hashtable.get(Hashtable.java:336)
>>>         at java.util.Properties.getProperty(Properties.java:774)
>>>         at
>>> org.apache.activemq.jaas.PropertiesLoginModule.login(PropertiesLoginModule.java:112)
>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>         at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>         at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>         at java.lang.reflect.Method.invoke(Method.java:585)
>>>         at
>>> javax.security.auth.login.LoginContext.invoke(LoginContext.java:769)
>>>         at
>>> javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
>>>         at
>>> javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
>>>         at java.security.AccessController.doPrivileged(Native Method)
>>>         at
>>> javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
>>>         at
>>> javax.security.auth.login.LoginContext.login(LoginContext.java:579)
>>>         at
>>> org.apache.activemq.security.JaasAuthenticationBroker.addConnection(JaasAuthenticationBroker.java:77)
>>>         at
>>> org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:82)
>>>         at
>>> org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:92)
>>>         at
>>> org.apache.activemq.broker.TransportConnection.processAddConnection(TransportConnection.java:690)
>>>         at
>>> org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:121)
>>>         at
>>> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:287)
>>>         at
>>> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:178)
>>>         at
>>> org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:95)
>>>         at
>>> org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:65)
>>>         at
>>> org.apache.activemq.transport.vm.VMTransport.syncOneWay(VMTransport.java:96)
>>>         at
>>> org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:83)
>>>         at
>>> org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:43)
>>>         at
>>> org.apache.activemq.transport.ResponseCorrelator.asyncRequest(ResponseCorrelator.java:69)
>>>         at
>>> org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:74)
>>>         at
>>> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1185)
>>>         at
>>> org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1273)
>>>         at
>>> org.apache.activemq.ActiveMQConnection.start(ActiveMQConnection.java:449)
>>>         at
>>> org.apache.activemq.broker.util.CommandAgent.getConnection(CommandAgent.java:145)
>>>         at
>>> org.apache.activemq.broker.util.CommandAgent.start(CommandAgent.java:55)
>>>         at
>>> org.apache.activemq.broker.util.CommandAgent.afterPropertiesSet(CommandAgent.java:100)
>>>         at
>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1062)
>>>         at
>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1029)
>>>         at
>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:420)
>>>         at
>>> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
>>>         at
>>> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
>>>         at
>>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
>>>         at
>>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
>>>         at
>>> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287)
>>>         at
>>> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:348)
>>>         at
>>> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:88)
>>>         at
>>> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:76)
>>>         at
>>> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:72)
>>>         at
>>> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:68)
>>>         at
>>> org.apache.activemq.xbean.BrokerFactoryBean.afterPropertiesSet(BrokerFactoryBean.java:84)
>>>         at
>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1062)
>>>         at
>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1029)
>>>         at
>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:420)
>>>         at
>>> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
>>>         at
>>> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
>>>         at
>>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
>>>         at
>>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
>>>         at
>>> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287)
>>>         at
>>> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:348)
>>>         at
>>> org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:156)
>>>         at
>>> org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
>>>         at
>>> org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
>>>         at
>>> org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
>>>         at
>>> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827)
>>>         at
>>> org.apache.catalina.core.StandardContext.start(StandardContext.java:4343)
>>>         at
>>> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:823)
>>>         at
>>> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
>>>         at
>>> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595)
>>>         at
>>> org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:277)
>>>         at
>>> org.apache.catalina.core.StandardHost.install(StandardHost.java:832)
>>>         at
>>> org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:617)
>>>         at
>>> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:431)
>>>         at
>>> org.apache.catalina.startup.HostConfig.start(HostConfig.java:968)
>>>         at
>>> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:349)
>>>         at
>>> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
>>>         at
>>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1091)
>>>         at
>>> org.apache.catalina.core.StandardHost.start(StandardHost.java:789)
>>>         at
>>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)
>>>         at
>>> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478)
>>>         at
>>> org.apache.catalina.core.StandardService.start(StandardService.java:480)
>>>         at
>>> org.apache.catalina.core.StandardServer.start(StandardServer.java:2313)
>>>         at org.apache.catalina.startup.Catalina.start(Catalina.java:556)
>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>         at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>         at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>         at java.lang.reflect.Method.invoke(Method.java:585)
>>>         at
>>> org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:284)
>>>         at
>>> org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:422)
>>> 
>>>         at
>>> javax.security.auth.login.LoginContext.invoke(LoginContext.java:872)
>>>         at
>>> javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
>>>         at
>>> javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
>>>         at java.security.AccessController.doPrivileged(Native Method)
>>>         at
>>> javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
>>>         at
>>> javax.security.auth.login.LoginContext.login(LoginContext.java:579)
>>>         at
>>> org.apache.activemq.security.JaasAuthenticationBroker.addConnection(JaasAuthenticationBroker.java:77)
>>>         ... 71 more
>>> 
>>> 
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/ActiveMQ-4.1-war-with-jaas-tf2757900.html#a7711997
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: ActiveMQ 4.1 war with jaas

Posted by dsnopek <ds...@gmail.com>.

My activemq.xml below is below.  As mentioned before, I do have the
login.config, user.properties, and group.properties file setup correctly (as
this configuration works standalone) and I know that they are being read
(because I get errors about not being able to read them when I move them
away).

Thank you,
David Snopek.

  <broker useJmx="true" xmlns="http://activemq.org/config/1.0">

 <!-- DRS: for security -->
    <plugins>
      <jaasAuthenticationPlugin configuration="activemq-domain"/>

      <authorizationPlugin>
        <map>
          <authorizationMap>
            <authorizationEntries>
              <authorizationEntry queue=">"
                read="admins"
                write="admins"
                admin="admins"
              />
              <!--
              <authorizationEntry queue="test.>"
                read="guests,users"
                write="guests,users"
                admin="guests,users"
              />
              -->
              <authorizationEntry queue="cs3_file.>"
                read="replication,admins"
                write="pro,admins"
                admin="pro,replication,admins"
              />
              <authorizationEntry queue="cs3_file.failed.>"
                read="replication,admins"
                write="replication,admins"
                admin="replication,admins"
              />
             <authorizationEntry queue="test.>"
                read="test"
                write="test"
                admin="test"
              />
              <authorizationEntry topic=">"
            read="admins"
                write="admins"
                admin="admins"
              />
              <authorizationEntry topic="ActiveMQ.Advisory.>"
                read="guests,users,test"
                write="guests,users,test"
                admin="guests,users,test"
              />
            </authorizationEntries>
          </authorizationMap>
        </map>
      </authorizationPlugin>
    </plugins>

  <!--  Use the following to set the broker memory limit (in bytes)
    <memoryManager>  
        <usageManager id="memory-manager" limit="1048576"/>
    </memoryManager>
    -->

    <!-- In ActiveMQ 4, you can setup destination policies -->
    <destinationPolicy>
      <policyMap>
        <policyEntries>

          <policyEntry topic="FOO.>">
            <dispatchPolicy>
              <strictOrderDispatchPolicy/>
            </dispatchPolicy>
            <subscriptionRecoveryPolicy>
              <lastImageSubscriptionRecoveryPolicy/>
            </subscriptionRecoveryPolicy>
          </policyEntry>

        </policyEntries>
      </policyMap>
    </destinationPolicy>


    <persistenceAdapter>
      <journaledJDBC journalLogFiles="5"
dataDirectory="/opt/tomcat5/webapps/activemq-data"/>
      <!-- To use a different datasource, use th following syntax : -->
      <!-- 
      <journaledJDBC journalLogFiles="5" dataDirectory="activemq-data"
dataSource="#postgres-ds"/>
       -->
   </persistenceAdapter>

    <transportConnectors>
      <!--
      <transportConnector name="openwire" uri="tcp://localhost:61616"
discoveryUri="multicast://default"/>
      -->
      <transportConnector name="stomp" uri="stomp://localhost:61613"/>
      <!--
      <transportConnector name="xmpp" uri="xmpp://localhost:61222"/>
      -->
    </transportConnectors>

    <networkConnectors>
      <!-- by default just auto discover the other brokers -->
      <networkConnector name="defaultNetwork" uri="multicast://default"/>
      <networkConnector name="host1 and host2"
uri="static://(tcp://host1:61616,tcp://host2:61616)" failover="true"/>
      -->
    </networkConnectors>

  </broker>

  <!-- lets create a command agent to respond to admin commands over JMS or
XMPP on the ActiveMQ.Agent topic -->
  <commandAgent xmlns="http://activemq.org/config/1.0"/>

  <!--  This xbean configuration file supports all the standard spring xml
configuration options -->

  <!-- Postgres DataSource Sample Setup -->
  <!-- 
  <bean id="postgres-ds" class="org.postgresql.ds.PGPoolingDataSource">
    <property name="serverName" value="localhost"/>
    <property name="databaseName" value="activemq"/>
    <property name="portNumber" value="0"/>
    <property name="user" value="activemq"/>
    <property name="password" value="activemq"/>
    <property name="dataSourceName" value="postgres"/>
    <property name="initialConnections" value="1"/>
    <property name="maxConnections" value="10"/>
  </bean>
  -->

  <!-- MySql DataSource Sample Setup -->
  <!-- 
  <bean id="mysql-ds" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <property name="url"
value="jdbc:mysql://localhost/activemq?relaxAutoCommit=true"/>
    <property name="username" value="activemq"/>
    <property name="password" value="activemq"/>
    <property name="poolPreparedStatements" value="true"/>
  </bean>
  -->

  <!-- Embedded Derby DataSource Sample Setup -->
  <!-- 
  <bean id="derby-ds" class="org.apache.derby.jdbc.EmbeddedDataSource">
    <property name="databaseName" value="derbydb"/>
    <property name="createDatabase" value="create"/>
  </bean>
  -->
</beans>


Ken Gallo wrote:
> 
> Can you post your activemq.xml?
> 
> Thanks,
> Ken
> 
> 
> dsnopek wrote:
>> 
>> Hello,
>> 
>> I built ActiveMQ 4.1 svn and deployed the WAR from
>> activemq-web-console/target/ under tomcat5.  It ran perfectly fine with
>> the default configuration.  However, when I enable authorization and
>> authentication via jaas, the server fails to start.  I know that my
>> configuration is correct because it works when running in standalone mode
>> and that it is required to copy the activemq-jaas-4.1.0-incubator.jar
>> into WEB-INF/lib/.  I know that my login.config and associated files are
>> being loaded, because when I move them away, I get an exception telling
>> me it can't read them.
>> 
>> What is required to get this to work?
>> 
>> Thanks!
>> David Snopek.
>> 
>> This is the enormous stack trace I get:
>> 
>> 2006-12-04 12:10:18 StandardContext[/activemq]Exception sending context
>> initialized event to listener instance of class
>> org.springframework.web.context.ContextLoaderListener
>> org.springframework.beans.factory.BeanCreationException: Error creating
>> bean with name 'brokerService' defined in ServletContext resource
>> [/WEB-INF/applicationContext.xml]: Invocation of init method failed;
>> nested exception is
>> org.springframework.beans.factory.BeanCreationException: Error creating
>> bean with name 'org.apache.activemq.broker.util.CommandAgent' defined in
>> ServletContext resource [/WEB-INF/activemq.xml]: Invocation of init
>> method failed; nested exception is javax.jms.JMSException: User name or
>> password is invalid.
>> Caused by: org.springframework.beans.factory.BeanCreationException: Error
>> creating bean with name 'org.apache.activemq.broker.util.CommandAgent'
>> defined in ServletContext resource [/WEB-INF/activemq.xml]: Invocation of
>> init method failed; nested exception is javax.jms.JMSException: User name
>> or password is invalid.
>> Caused by: javax.jms.JMSException: User name or password is invalid.
>>         at
>> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:46)
>>         at
>> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1191)
>>         at
>> org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1273)
>>         at
>> org.apache.activemq.ActiveMQConnection.start(ActiveMQConnection.java:449)
>>         at
>> org.apache.activemq.broker.util.CommandAgent.getConnection(CommandAgent.java:145)
>>         at
>> org.apache.activemq.broker.util.CommandAgent.start(CommandAgent.java:55)
>>         at
>> org.apache.activemq.broker.util.CommandAgent.afterPropertiesSet(CommandAgent.java:100)
>>         at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1062)
>>         at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1029)
>>         at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:420)
>>         at
>> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
>>         at
>> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
>>         at
>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
>>         at
>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
>>         at
>> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287)
>>         at
>> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:348)
>>         at
>> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:88)
>>         at
>> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:76)
>>         at
>> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:72)
>>         at
>> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:68)
>>         at
>> org.apache.activemq.xbean.BrokerFactoryBean.afterPropertiesSet(BrokerFactoryBean.java:84)
>>         at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1062)
>>         at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1029)
>>         at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:420)
>>         at
>> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
>>         at
>> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
>>         at
>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
>>         at
>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
>>         at
>> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287)
>>         at
>> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:348)
>>         at
>> org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:156)
>>         at
>> org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
>>         at
>> org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
>>         at
>> org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
>>         at
>> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827)
>>         at
>> org.apache.catalina.core.StandardContext.start(StandardContext.java:4343)
>>         at
>> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:823)
>>         at
>> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
>>         at
>> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595)
>>         at
>> org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:277)
>>         at
>> org.apache.catalina.core.StandardHost.install(StandardHost.java:832)
>>         at
>> org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:617)
>>         at
>> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:431)
>>         at
>> org.apache.catalina.startup.HostConfig.start(HostConfig.java:968)
>>         at
>> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:349)
>>         at
>> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
>>         at
>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1091)
>>         at
>> org.apache.catalina.core.StandardHost.start(StandardHost.java:789)
>>         at
>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)
>>         at
>> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478)
>>         at
>> org.apache.catalina.core.StandardService.start(StandardService.java:480)
>>         at
>> org.apache.catalina.core.StandardServer.start(StandardServer.java:2313)
>>         at org.apache.catalina.startup.Catalina.start(Catalina.java:556)
>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>         at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>         at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>         at java.lang.reflect.Method.invoke(Method.java:585)
>>         at
>> org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:284)
>>         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:422)
>> Caused by: java.lang.SecurityException: User name or password is invalid.
>>         at
>> org.apache.activemq.security.JaasAuthenticationBroker.addConnection(JaasAuthenticationBroker.java:84)
>>         at
>> org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:82)
>>         at
>> org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:92)
>>         at
>> org.apache.activemq.broker.TransportConnection.processAddConnection(TransportConnection.java:690)
>>         at
>> org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:121)
>>         at
>> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:287)
>>         at
>> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:178)
>>         at
>> org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:95)
>>         at
>> org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:65)
>>         at
>> org.apache.activemq.transport.vm.VMTransport.syncOneWay(VMTransport.java:96)
>>         at
>> org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:83)
>>         at
>> org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:43)
>>         at
>> org.apache.activemq.transport.ResponseCorrelator.asyncRequest(ResponseCorrelator.java:69)
>>         at
>> org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:74)
>>         at
>> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1185)
>>         ... 57 more
>> Caused by: javax.security.auth.login.LoginException:
>> java.lang.NullPointerException
>>         at java.util.Hashtable.get(Hashtable.java:336)
>>         at java.util.Properties.getProperty(Properties.java:774)
>>         at
>> org.apache.activemq.jaas.PropertiesLoginModule.login(PropertiesLoginModule.java:112)
>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>         at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>         at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>         at java.lang.reflect.Method.invoke(Method.java:585)
>>         at
>> javax.security.auth.login.LoginContext.invoke(LoginContext.java:769)
>>         at
>> javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
>>         at
>> javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
>>         at java.security.AccessController.doPrivileged(Native Method)
>>         at
>> javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
>>         at
>> javax.security.auth.login.LoginContext.login(LoginContext.java:579)
>>         at
>> org.apache.activemq.security.JaasAuthenticationBroker.addConnection(JaasAuthenticationBroker.java:77)
>>         at
>> org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:82)
>>         at
>> org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:92)
>>         at
>> org.apache.activemq.broker.TransportConnection.processAddConnection(TransportConnection.java:690)
>>         at
>> org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:121)
>>         at
>> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:287)
>>         at
>> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:178)
>>         at
>> org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:95)
>>         at
>> org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:65)
>>         at
>> org.apache.activemq.transport.vm.VMTransport.syncOneWay(VMTransport.java:96)
>>         at
>> org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:83)
>>         at
>> org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:43)
>>         at
>> org.apache.activemq.transport.ResponseCorrelator.asyncRequest(ResponseCorrelator.java:69)
>>         at
>> org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:74)
>>         at
>> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1185)
>>         at
>> org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1273)
>>         at
>> org.apache.activemq.ActiveMQConnection.start(ActiveMQConnection.java:449)
>>         at
>> org.apache.activemq.broker.util.CommandAgent.getConnection(CommandAgent.java:145)
>>         at
>> org.apache.activemq.broker.util.CommandAgent.start(CommandAgent.java:55)
>>         at
>> org.apache.activemq.broker.util.CommandAgent.afterPropertiesSet(CommandAgent.java:100)
>>         at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1062)
>>         at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1029)
>>         at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:420)
>>         at
>> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
>>         at
>> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
>>         at
>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
>>         at
>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
>>         at
>> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287)
>>         at
>> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:348)
>>         at
>> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:88)
>>         at
>> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:76)
>>         at
>> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:72)
>>         at
>> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:68)
>>         at
>> org.apache.activemq.xbean.BrokerFactoryBean.afterPropertiesSet(BrokerFactoryBean.java:84)
>>         at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1062)
>>         at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1029)
>>         at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:420)
>>         at
>> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
>>         at
>> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
>>         at
>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
>>         at
>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
>>         at
>> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287)
>>         at
>> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:348)
>>         at
>> org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:156)
>>         at
>> org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
>>         at
>> org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
>>         at
>> org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
>>         at
>> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827)
>>         at
>> org.apache.catalina.core.StandardContext.start(StandardContext.java:4343)
>>         at
>> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:823)
>>         at
>> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
>>         at
>> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595)
>>         at
>> org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:277)
>>         at
>> org.apache.catalina.core.StandardHost.install(StandardHost.java:832)
>>         at
>> org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:617)
>>         at
>> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:431)
>>         at
>> org.apache.catalina.startup.HostConfig.start(HostConfig.java:968)
>>         at
>> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:349)
>>         at
>> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
>>         at
>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1091)
>>         at
>> org.apache.catalina.core.StandardHost.start(StandardHost.java:789)
>>         at
>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)
>>         at
>> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478)
>>         at
>> org.apache.catalina.core.StandardService.start(StandardService.java:480)
>>         at
>> org.apache.catalina.core.StandardServer.start(StandardServer.java:2313)
>>         at org.apache.catalina.startup.Catalina.start(Catalina.java:556)
>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>         at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>         at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>         at java.lang.reflect.Method.invoke(Method.java:585)
>>         at
>> org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:284)
>>         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:422)
>> 
>>         at
>> javax.security.auth.login.LoginContext.invoke(LoginContext.java:872)
>>         at
>> javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
>>         at
>> javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
>>         at java.security.AccessController.doPrivileged(Native Method)
>>         at
>> javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
>>         at
>> javax.security.auth.login.LoginContext.login(LoginContext.java:579)
>>         at
>> org.apache.activemq.security.JaasAuthenticationBroker.addConnection(JaasAuthenticationBroker.java:77)
>>         ... 71 more
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/ActiveMQ-4.1-war-with-jaas-tf2757900.html#a7703197
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: ActiveMQ 4.1 war with jaas

Posted by Ken Gallo <kg...@exist.com>.
Can you post your activemq.xml?

Thanks,
Ken


dsnopek wrote:
> 
> Hello,
> 
> I built ActiveMQ 4.1 svn and deployed the WAR from
> activemq-web-console/target/ under tomcat5.  It ran perfectly fine with
> the default configuration.  However, when I enable authorization and
> authentication via jaas, the server fails to start.  I know that my
> configuration is correct because it works when running in standalone mode
> and that it is required to copy the activemq-jaas-4.1.0-incubator.jar into
> WEB-INF/lib/.  I know that my login.config and associated files are being
> loaded, because when I move them away, I get an exception telling me it
> can't read them.
> 
> What is required to get this to work?
> 
> Thanks!
> David Snopek.
> 
> This is the enormous stack trace I get:
> 
> 2006-12-04 12:10:18 StandardContext[/activemq]Exception sending context
> initialized event to listener instance of class
> org.springframework.web.context.ContextLoaderListener
> org.springframework.beans.factory.BeanCreationException: Error creating
> bean with name 'brokerService' defined in ServletContext resource
> [/WEB-INF/applicationContext.xml]: Invocation of init method failed;
> nested exception is
> org.springframework.beans.factory.BeanCreationException: Error creating
> bean with name 'org.apache.activemq.broker.util.CommandAgent' defined in
> ServletContext resource [/WEB-INF/activemq.xml]: Invocation of init method
> failed; nested exception is javax.jms.JMSException: User name or password
> is invalid.
> Caused by: org.springframework.beans.factory.BeanCreationException: Error
> creating bean with name 'org.apache.activemq.broker.util.CommandAgent'
> defined in ServletContext resource [/WEB-INF/activemq.xml]: Invocation of
> init method failed; nested exception is javax.jms.JMSException: User name
> or password is invalid.
> Caused by: javax.jms.JMSException: User name or password is invalid.
>         at
> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:46)
>         at
> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1191)
>         at
> org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1273)
>         at
> org.apache.activemq.ActiveMQConnection.start(ActiveMQConnection.java:449)
>         at
> org.apache.activemq.broker.util.CommandAgent.getConnection(CommandAgent.java:145)
>         at
> org.apache.activemq.broker.util.CommandAgent.start(CommandAgent.java:55)
>         at
> org.apache.activemq.broker.util.CommandAgent.afterPropertiesSet(CommandAgent.java:100)
>         at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1062)
>         at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1029)
>         at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:420)
>         at
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
>         at
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
>         at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
>         at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
>         at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287)
>         at
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:348)
>         at
> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:88)
>         at
> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:76)
>         at
> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:72)
>         at
> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:68)
>         at
> org.apache.activemq.xbean.BrokerFactoryBean.afterPropertiesSet(BrokerFactoryBean.java:84)
>         at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1062)
>         at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1029)
>         at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:420)
>         at
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
>         at
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
>         at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
>         at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
>         at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287)
>         at
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:348)
>         at
> org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:156)
>         at
> org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
>         at
> org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
>         at
> org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
>         at
> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827)
>         at
> org.apache.catalina.core.StandardContext.start(StandardContext.java:4343)
>         at
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:823)
>         at
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
>         at
> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595)
>         at
> org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:277)
>         at
> org.apache.catalina.core.StandardHost.install(StandardHost.java:832)
>         at
> org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:617)
>         at
> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:431)
>         at
> org.apache.catalina.startup.HostConfig.start(HostConfig.java:968)
>         at
> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:349)
>         at
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
>         at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1091)
>         at
> org.apache.catalina.core.StandardHost.start(StandardHost.java:789)
>         at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)
>         at
> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478)
>         at
> org.apache.catalina.core.StandardService.start(StandardService.java:480)
>         at
> org.apache.catalina.core.StandardServer.start(StandardServer.java:2313)
>         at org.apache.catalina.startup.Catalina.start(Catalina.java:556)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:284)
>         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:422)
> Caused by: java.lang.SecurityException: User name or password is invalid.
>         at
> org.apache.activemq.security.JaasAuthenticationBroker.addConnection(JaasAuthenticationBroker.java:84)
>         at
> org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:82)
>         at
> org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:92)
>         at
> org.apache.activemq.broker.TransportConnection.processAddConnection(TransportConnection.java:690)
>         at
> org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:121)
>         at
> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:287)
>         at
> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:178)
>         at
> org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:95)
>         at
> org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:65)
>         at
> org.apache.activemq.transport.vm.VMTransport.syncOneWay(VMTransport.java:96)
>         at
> org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:83)
>         at
> org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:43)
>         at
> org.apache.activemq.transport.ResponseCorrelator.asyncRequest(ResponseCorrelator.java:69)
>         at
> org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:74)
>         at
> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1185)
>         ... 57 more
> Caused by: javax.security.auth.login.LoginException:
> java.lang.NullPointerException
>         at java.util.Hashtable.get(Hashtable.java:336)
>         at java.util.Properties.getProperty(Properties.java:774)
>         at
> org.apache.activemq.jaas.PropertiesLoginModule.login(PropertiesLoginModule.java:112)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at
> javax.security.auth.login.LoginContext.invoke(LoginContext.java:769)
>         at
> javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
>         at
> javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at
> javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
>         at
> javax.security.auth.login.LoginContext.login(LoginContext.java:579)
>         at
> org.apache.activemq.security.JaasAuthenticationBroker.addConnection(JaasAuthenticationBroker.java:77)
>         at
> org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:82)
>         at
> org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:92)
>         at
> org.apache.activemq.broker.TransportConnection.processAddConnection(TransportConnection.java:690)
>         at
> org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:121)
>         at
> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:287)
>         at
> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:178)
>         at
> org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:95)
>         at
> org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:65)
>         at
> org.apache.activemq.transport.vm.VMTransport.syncOneWay(VMTransport.java:96)
>         at
> org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:83)
>         at
> org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:43)
>         at
> org.apache.activemq.transport.ResponseCorrelator.asyncRequest(ResponseCorrelator.java:69)
>         at
> org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:74)
>         at
> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1185)
>         at
> org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1273)
>         at
> org.apache.activemq.ActiveMQConnection.start(ActiveMQConnection.java:449)
>         at
> org.apache.activemq.broker.util.CommandAgent.getConnection(CommandAgent.java:145)
>         at
> org.apache.activemq.broker.util.CommandAgent.start(CommandAgent.java:55)
>         at
> org.apache.activemq.broker.util.CommandAgent.afterPropertiesSet(CommandAgent.java:100)
>         at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1062)
>         at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1029)
>         at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:420)
>         at
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
>         at
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
>         at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
>         at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
>         at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287)
>         at
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:348)
>         at
> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:88)
>         at
> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:76)
>         at
> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:72)
>         at
> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:68)
>         at
> org.apache.activemq.xbean.BrokerFactoryBean.afterPropertiesSet(BrokerFactoryBean.java:84)
>         at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1062)
>         at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1029)
>         at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:420)
>         at
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
>         at
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
>         at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
>         at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
>         at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287)
>         at
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:348)
>         at
> org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:156)
>         at
> org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
>         at
> org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
>         at
> org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
>         at
> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827)
>         at
> org.apache.catalina.core.StandardContext.start(StandardContext.java:4343)
>         at
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:823)
>         at
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
>         at
> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595)
>         at
> org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:277)
>         at
> org.apache.catalina.core.StandardHost.install(StandardHost.java:832)
>         at
> org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:617)
>         at
> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:431)
>         at
> org.apache.catalina.startup.HostConfig.start(HostConfig.java:968)
>         at
> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:349)
>         at
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
>         at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1091)
>         at
> org.apache.catalina.core.StandardHost.start(StandardHost.java:789)
>         at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)
>         at
> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478)
>         at
> org.apache.catalina.core.StandardService.start(StandardService.java:480)
>         at
> org.apache.catalina.core.StandardServer.start(StandardServer.java:2313)
>         at org.apache.catalina.startup.Catalina.start(Catalina.java:556)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:284)
>         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:422)
> 
>         at
> javax.security.auth.login.LoginContext.invoke(LoginContext.java:872)
>         at
> javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
>         at
> javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at
> javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
>         at
> javax.security.auth.login.LoginContext.login(LoginContext.java:579)
>         at
> org.apache.activemq.security.JaasAuthenticationBroker.addConnection(JaasAuthenticationBroker.java:77)
>         ... 71 more
> 
> 

-- 
View this message in context: http://www.nabble.com/ActiveMQ-4.1-war-with-jaas-tf2757900.html#a7691109
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: ActiveMQ 4.1 war with jaas

Posted by Ken Gallo <kg...@exist.com>.
Oh, you might want to comment out the command agent part in the xml:

<!--<commandAgent xmlns="http://activemq.org/config/1.0"/>-->

HTH,
Ken


dsnopek wrote:
> 
> Hello,
> 
> I built ActiveMQ 4.1 svn and deployed the WAR from
> activemq-web-console/target/ under tomcat5.  It ran perfectly fine with
> the default configuration.  However, when I enable authorization and
> authentication via jaas, the server fails to start.  I know that my
> configuration is correct because it works when running in standalone mode
> and that it is required to copy the activemq-jaas-4.1.0-incubator.jar into
> WEB-INF/lib/.  I know that my login.config and associated files are being
> loaded, because when I move them away, I get an exception telling me it
> can't read them.
> 
> What is required to get this to work?
> 
> Thanks!
> David Snopek.
> 
> This is the enormous stack trace I get:
> 
> 2006-12-04 12:10:18 StandardContext[/activemq]Exception sending context
> initialized event to listener instance of class
> org.springframework.web.context.ContextLoaderListener
> org.springframework.beans.factory.BeanCreationException: Error creating
> bean with name 'brokerService' defined in ServletContext resource
> [/WEB-INF/applicationContext.xml]: Invocation of init method failed;
> nested exception is
> org.springframework.beans.factory.BeanCreationException: Error creating
> bean with name 'org.apache.activemq.broker.util.CommandAgent' defined in
> ServletContext resource [/WEB-INF/activemq.xml]: Invocation of init method
> failed; nested exception is javax.jms.JMSException: User name or password
> is invalid.
> Caused by: org.springframework.beans.factory.BeanCreationException: Error
> creating bean with name 'org.apache.activemq.broker.util.CommandAgent'
> defined in ServletContext resource [/WEB-INF/activemq.xml]: Invocation of
> init method failed; nested exception is javax.jms.JMSException: User name
> or password is invalid.
> Caused by: javax.jms.JMSException: User name or password is invalid.
>         at
> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:46)
>         at
> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1191)
>         at
> org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1273)
>         at
> org.apache.activemq.ActiveMQConnection.start(ActiveMQConnection.java:449)
>         at
> org.apache.activemq.broker.util.CommandAgent.getConnection(CommandAgent.java:145)
>         at
> org.apache.activemq.broker.util.CommandAgent.start(CommandAgent.java:55)
>         at
> org.apache.activemq.broker.util.CommandAgent.afterPropertiesSet(CommandAgent.java:100)
>         at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1062)
>         at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1029)
>         at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:420)
>         at
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
>         at
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
>         at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
>         at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
>         at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287)
>         at
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:348)
>         at
> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:88)
>         at
> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:76)
>         at
> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:72)
>         at
> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:68)
>         at
> org.apache.activemq.xbean.BrokerFactoryBean.afterPropertiesSet(BrokerFactoryBean.java:84)
>         at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1062)
>         at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1029)
>         at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:420)
>         at
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
>         at
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
>         at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
>         at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
>         at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287)
>         at
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:348)
>         at
> org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:156)
>         at
> org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
>         at
> org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
>         at
> org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
>         at
> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827)
>         at
> org.apache.catalina.core.StandardContext.start(StandardContext.java:4343)
>         at
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:823)
>         at
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
>         at
> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595)
>         at
> org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:277)
>         at
> org.apache.catalina.core.StandardHost.install(StandardHost.java:832)
>         at
> org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:617)
>         at
> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:431)
>         at
> org.apache.catalina.startup.HostConfig.start(HostConfig.java:968)
>         at
> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:349)
>         at
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
>         at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1091)
>         at
> org.apache.catalina.core.StandardHost.start(StandardHost.java:789)
>         at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)
>         at
> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478)
>         at
> org.apache.catalina.core.StandardService.start(StandardService.java:480)
>         at
> org.apache.catalina.core.StandardServer.start(StandardServer.java:2313)
>         at org.apache.catalina.startup.Catalina.start(Catalina.java:556)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:284)
>         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:422)
> Caused by: java.lang.SecurityException: User name or password is invalid.
>         at
> org.apache.activemq.security.JaasAuthenticationBroker.addConnection(JaasAuthenticationBroker.java:84)
>         at
> org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:82)
>         at
> org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:92)
>         at
> org.apache.activemq.broker.TransportConnection.processAddConnection(TransportConnection.java:690)
>         at
> org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:121)
>         at
> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:287)
>         at
> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:178)
>         at
> org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:95)
>         at
> org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:65)
>         at
> org.apache.activemq.transport.vm.VMTransport.syncOneWay(VMTransport.java:96)
>         at
> org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:83)
>         at
> org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:43)
>         at
> org.apache.activemq.transport.ResponseCorrelator.asyncRequest(ResponseCorrelator.java:69)
>         at
> org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:74)
>         at
> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1185)
>         ... 57 more
> Caused by: javax.security.auth.login.LoginException:
> java.lang.NullPointerException
>         at java.util.Hashtable.get(Hashtable.java:336)
>         at java.util.Properties.getProperty(Properties.java:774)
>         at
> org.apache.activemq.jaas.PropertiesLoginModule.login(PropertiesLoginModule.java:112)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at
> javax.security.auth.login.LoginContext.invoke(LoginContext.java:769)
>         at
> javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
>         at
> javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at
> javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
>         at
> javax.security.auth.login.LoginContext.login(LoginContext.java:579)
>         at
> org.apache.activemq.security.JaasAuthenticationBroker.addConnection(JaasAuthenticationBroker.java:77)
>         at
> org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:82)
>         at
> org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:92)
>         at
> org.apache.activemq.broker.TransportConnection.processAddConnection(TransportConnection.java:690)
>         at
> org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:121)
>         at
> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:287)
>         at
> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:178)
>         at
> org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:95)
>         at
> org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:65)
>         at
> org.apache.activemq.transport.vm.VMTransport.syncOneWay(VMTransport.java:96)
>         at
> org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:83)
>         at
> org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:43)
>         at
> org.apache.activemq.transport.ResponseCorrelator.asyncRequest(ResponseCorrelator.java:69)
>         at
> org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:74)
>         at
> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1185)
>         at
> org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1273)
>         at
> org.apache.activemq.ActiveMQConnection.start(ActiveMQConnection.java:449)
>         at
> org.apache.activemq.broker.util.CommandAgent.getConnection(CommandAgent.java:145)
>         at
> org.apache.activemq.broker.util.CommandAgent.start(CommandAgent.java:55)
>         at
> org.apache.activemq.broker.util.CommandAgent.afterPropertiesSet(CommandAgent.java:100)
>         at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1062)
>         at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1029)
>         at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:420)
>         at
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
>         at
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
>         at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
>         at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
>         at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287)
>         at
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:348)
>         at
> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:88)
>         at
> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:76)
>         at
> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:72)
>         at
> org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:68)
>         at
> org.apache.activemq.xbean.BrokerFactoryBean.afterPropertiesSet(BrokerFactoryBean.java:84)
>         at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1062)
>         at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1029)
>         at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:420)
>         at
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
>         at
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
>         at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
>         at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
>         at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287)
>         at
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:348)
>         at
> org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:156)
>         at
> org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
>         at
> org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
>         at
> org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
>         at
> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827)
>         at
> org.apache.catalina.core.StandardContext.start(StandardContext.java:4343)
>         at
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:823)
>         at
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
>         at
> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595)
>         at
> org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:277)
>         at
> org.apache.catalina.core.StandardHost.install(StandardHost.java:832)
>         at
> org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:617)
>         at
> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:431)
>         at
> org.apache.catalina.startup.HostConfig.start(HostConfig.java:968)
>         at
> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:349)
>         at
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
>         at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1091)
>         at
> org.apache.catalina.core.StandardHost.start(StandardHost.java:789)
>         at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)
>         at
> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478)
>         at
> org.apache.catalina.core.StandardService.start(StandardService.java:480)
>         at
> org.apache.catalina.core.StandardServer.start(StandardServer.java:2313)
>         at org.apache.catalina.startup.Catalina.start(Catalina.java:556)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:284)
>         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:422)
> 
>         at
> javax.security.auth.login.LoginContext.invoke(LoginContext.java:872)
>         at
> javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
>         at
> javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at
> javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
>         at
> javax.security.auth.login.LoginContext.login(LoginContext.java:579)
>         at
> org.apache.activemq.security.JaasAuthenticationBroker.addConnection(JaasAuthenticationBroker.java:77)
>         ... 71 more
> 
> 

-- 
View this message in context: http://www.nabble.com/ActiveMQ-4.1-war-with-jaas-tf2757900.html#a7691192
Sent from the ActiveMQ - User mailing list archive at Nabble.com.