upgrading 3.0 -> 3.2.3
leila May 26, 2004 12:22 PMI am attempting to upgrade an application that was running on JBoss 3.0 to 3.2.3. We have a security domain called RMI+SSL and some topic/queues that need to be secured. I have set up the roles/username/passwords in jbossmq-state.xml, e.g.
<StateManager> <Users> <User> <Name>MyUser</Name> <Password>xxxxxx</Password> </User> </Users> <Roles> <Role name="guest"> <UserName>MyUser</UserName> </Role> <Role name="myrole"> <UserName>MyUser</UserName> </Role> </Roles> </StateManager>
In login-config.xml, I have two policy realms defined:
<application-policy name = "JmsXARealm"> <authentication> <login-module code = "org.jboss.resource.security.ConfiguredIdentityLoginModule" flag = "required"> <module-option name="principal">myrole</module-option> <module-option name="userName">MyUser</module-option> <module-option name="password">xxxxxx</module-option> <module-option name = "managedConnectionFactoryName">jboss.jca:service=TxCM,name=JmsXA</module-option> </login-module> </authentication> </application-policy> <application-policy name = "RemoteJmsXARealm"> <authentication> <login-module code = "org.jboss.resource.security.ConfiguredIdentityLoginModule" flag = "required"> <module-option name="principal">myrole</module-option> <module-option name="userName">MyUser</module-option> <module-option name="password">xxxxxx</module-option> <module-option name = "managedConnectionFactoryName">jboss.jca:service=TxCM,name=RemoteJmsXA</module-option> </login-module> </authentication> </application-policy>
In jboss-service, the RMI+SSL secuirty domain is set up:
<!-- The SSL domain setup --> <mbean code="org.jboss.security.plugins.JaasSecurityDomain" name="jboss.security:service=JaasSecurityDomain,domain=RMI+SSL"> <constructor> <arg type="java.lang.String" value="RMI+SSL"/> </constructor> <attribute name="KeyStoreURL">mykeystore.ks</attribute> <attribute name="KeyStorePass">mykeystorepw</attribute> </mbean>
The standardjboss.xml defines an invoker-proxy-binding for message-driven-beans as:
<invoker-proxy-binding> <name>message-driven-bean</name> <invoker-mbean>default</invoker-mbean> <proxy-factory>org.jboss.ejb.plugins.jms.JMSContainerInvoker</proxy-factory> <proxy-factory-config> <JMSProviderAdapterJNDI>DefaultJMSProvider</JMSProviderAdapterJNDI> <ServerSessionPoolFactoryJNDI>StdJMSPool</ServerSessionPoolFactoryJNDI> <MaximumSize>15</MaximumSize> <MaxMessages>1</MaxMessages> <MDBConfig> <ReconnectIntervalSec>10</ReconnectIntervalSec> <DLQConfig> <DestinationQueue>queue/DLQ</DestinationQueue> <MaxTimesRedelivered>10</MaxTimesRedelivered> <TimeToLive>0</TimeToLive> <DLQUser>MyUser</DLQUser> <DLQPassword>xxxxxx</DLQPassword> </DLQConfig> </MDBConfig> </proxy-factory-config> </invoker-proxy-binding> <invoker-proxy-binding> <name>remote-message-driven-bean</name> <invoker-mbean>default</invoker-mbean> <proxy-factory>org.jboss.ejb.plugins.jms.JMSContainerInvoker</proxy-factory> <proxy-factory-config> <JMSProviderAdapterJNDI>RemoteJMSProvider</JMSProviderAdapterJNDI> <ServerSessionPoolFactoryJNDI>StdJMSPool</ServerSessionPoolFactoryJNDI> <MaximumSize>15</MaximumSize> <MaxMessages>1</MaxMessages> <MDBConfig> <ReconnectIntervalSec>10</ReconnectIntervalSec> <DLQConfig> <DestinationQueue>queue/DLQ</DestinationQueue> <MaxTimesRedelivered>10</MaxTimesRedelivered> <TimeToLive>0</TimeToLive> <DLQUser>MyUser</DLQUser> <DLQPassword>xxxxxx</DLQPassword> </DLQConfig> </MDBConfig> </proxy-factory-config> </invoker-proxy-binding>
I'm getting this authentication error trying to initialize the DLQHander:
2004-05-26 10:50:07,221 ERROR [org.jboss.ejb.plugins.jms.DLQHandler] Initialization failed javax.jms.JMSSecurityException: User: MyUser is NOT authenticated at org.jboss.mq.security.SecurityManager.authenticate(SecurityManager.java:232) at org.jboss.mq.security.ServerSecurityInterceptor.authenticate(ServerSecurityInterceptor.java:51) at org.jboss.mq.server.TracingInterceptor.authenticate(TracingInterceptor.java:787) at org.jboss.mq.server.JMSServerInvoker.authenticate(JMSServerInvoker.java:287) at org.jboss.mq.il.jvm.JVMServerIL.authenticate(JVMServerIL.java:302) at org.jboss.mq.Connection.authenticate(Connection.java:876) at org.jboss.mq.Connection.<init>(Connection.java:238) at org.jboss.mq.SpyConnection.<init>(SpyConnection.java:49) at org.jboss.mq.SpyConnectionFactory.createQueueConnection(SpyConnectionFactory.java:135) at org.jboss.ejb.plugins.jms.DLQHandler.createService(DLQHandler.java:157) at org.jboss.system.ServiceMBeanSupport.create(ServiceMBeanSupport.java:158) at org.jboss.ejb.plugins.jms.JMSContainerInvoker.innerCreate(JMSContainerInvoker.java:458) at org.jboss.ejb.plugins.jms.JMSContainerInvoker.startService(JMSContainerInvoker.java:674) at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192) at org.jboss.ejb.MessageDrivenContainer.startService(MessageDrivenContainer.java:234) at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192) at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546) at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:976) at $Proxy15.start(Unknown Source) at org.jboss.system.ServiceController.start(ServiceController.java:394) at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177) at $Proxy32.start(Unknown Source) at org.jboss.ejb.EjbModule.startService(EjbModule.java:331) at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192) at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546) at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:976) at $Proxy15.start(Unknown Source) at org.jboss.system.ServiceController.start(ServiceController.java:394) at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177) at $Proxy13.start(Unknown Source) at org.jboss.ejb.EJBDeployer.start(EJBDeployer.java:544) at org.jboss.deployment.MainDeployer.start(MainDeployer.java:832) at org.jboss.deployment.MainDeployer.start(MainDeployer.java:824) at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:642) at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:605) at sun.reflect.GeneratedMethodAccessor18.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177) at $Proxy6.deploy(Unknown Source) at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:302) at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:476) at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:201) at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:274) at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192) at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546) at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:976) at $Proxy0.start(Unknown Source) at org.jboss.system.ServiceController.start(ServiceController.java:394) at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177) at $Proxy4.start(Unknown Source) at org.jboss.deployment.SARDeployer.start(SARDeployer.java:226) at org.jboss.deployment.MainDeployer.start(MainDeployer.java:832) at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:642) at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:605) at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:589) 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:324) at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177) at $Proxy5.deploy(Unknown Source) at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:384) at org.jboss.system.server.ServerImpl.start(ServerImpl.java:291) at org.jboss.Main.boot(Main.java:150) at org.jboss.Main$1.run(Main.java:395)
The log file shows that the queues are created, but for some reason the securityconf is null. I don't understand why.
2004-05-26 10:49:28,799 TRACE [org.jboss.mq.il.http.HTTPServerILService] Constructing 2004-05-26 10:49:33,002 TRACE [org.jboss.jms.jndi.JMSProviderLoader] Constructing 2004-05-26 10:49:33,002 TRACE [org.jboss.jms.jndi.JMSProviderLoader] Constructing 2004-05-26 10:49:33,017 TRACE [org.jboss.jms.asf.ServerSessionPoolLoader] Constructing 2004-05-26 10:49:33,049 DEBUG [org.jboss.jms.jndi.JMSProviderLoader] Creating 2004-05-26 10:49:33,049 DEBUG [org.jboss.jms.jndi.JMSProviderLoader] Created 2004-05-26 10:49:33,049 DEBUG [org.jboss.jms.jndi.JMSProviderLoader] Creating 2004-05-26 10:49:33,049 DEBUG [org.jboss.jms.jndi.JMSProviderLoader] Created 2004-05-26 10:49:33,049 DEBUG [org.jboss.jms.asf.ServerSessionPoolLoader] Creating 2004-05-26 10:49:33,049 DEBUG [org.jboss.jms.asf.ServerSessionPoolLoader] Created 2004-05-26 10:49:33,049 DEBUG [org.jboss.jms.jndi.JMSProviderLoader] Starting 2004-05-26 10:49:33,064 DEBUG [org.jboss.jms.jndi.JBossMQProvider] initializing 2004-05-26 10:49:33,064 DEBUG [org.jboss.jms.jndi.JMSProviderLoader] attempting to bind org.jboss.jms.jndi.JBossMQProvider@1a220e6 to java:/RemoteJMSProvider 2004-05-26 10:49:33,064 INFO [org.jboss.jms.jndi.JMSProviderLoader] Bound adapter to java:/RemoteJMSProvider 2004-05-26 10:49:33,064 INFO [org.jboss.jms.jndi.JMSProviderLoader] Started jboss.mq:service=JMSProviderLoader,name=RemoteMQProvider, server=JMSSERVER 2004-05-26 10:49:33,080 DEBUG [org.jboss.jms.jndi.JMSProviderLoader] Starting 2004-05-26 10:49:33,080 DEBUG [org.jboss.jms.jndi.JBossMQProvider] initializing 2004-05-26 10:49:33,080 DEBUG [org.jboss.jms.jndi.JMSProviderLoader] attempting to bind org.jboss.jms.jndi.JBossMQProvider@1be4663 to java:/DefaultJMSProvider 2004-05-26 10:49:33,080 INFO [org.jboss.jms.jndi.JMSProviderLoader] Bound adapter to java:/DefaultJMSProvider 2004-05-26 10:49:33,080 INFO [org.jboss.jms.jndi.JMSProviderLoader] Started jboss.mq:service=JMSProviderLoader,name=JBossMQProvider 2004-05-26 10:49:33,080 DEBUG [org.jboss.jms.asf.ServerSessionPoolLoader] Starting 2004-05-26 10:49:33,080 DEBUG [org.jboss.jms.asf.ServerSessionPoolLoader] initialized with pool factory: org.jboss.jms.asf.StdServerSessionPoolFactory@aefcbb 2004-05-26 10:49:33,080 INFO [org.jboss.jms.asf.ServerSessionPoolLoader] pool factory StdJMSPool bound to java:/StdJMSPool 2004-05-26 10:49:33,080 INFO [org.jboss.jms.asf.ServerSessionPoolLoader] Started jboss.mq:service=ServerSessionPoolMBean,name=StdJMSPool 2004-05-26 10:49:34,314 TRACE [org.jboss.mq.server.jmx.DestinationManager] Constructing 2004-05-26 10:49:34,330 TRACE [org.jboss.mq.server.MessageCache] Constructing 2004-05-26 10:49:34,377 TRACE [org.jboss.mq.pm.jdbc2.PersistenceManager] Constructing 2004-05-26 10:49:34,471 DEBUG [org.jboss.mq.server.MessageCache] Creating 2004-05-26 10:49:34,471 DEBUG [org.jboss.mq.server.MessageCache] Created 2004-05-26 10:49:34,471 DEBUG [org.jboss.mq.server.MessageCache] Starting 2004-05-26 10:49:34,471 INFO [org.jboss.mq.server.MessageCache] Started jboss.mq:service=MessageCache 2004-05-26 10:49:34,783 TRACE [org.jboss.mq.server.jmx.Topic] Constructing 2004-05-26 10:49:34,783 DEBUG [org.jboss.mq.server.jmx.Topic.topic1] Setting securityConf: [security: null] 2004-05-26 10:49:34,783 TRACE [org.jboss.mq.server.jmx.Queue] Constructing 2004-05-26 10:49:34,783 DEBUG [org.jboss.mq.server.jmx.Queue.queue1] Setting securityConf: [security: null] 2004-05-26 10:49:34,799 TRACE [org.jboss.mq.server.jmx.Queue] Constructing 2004-05-26 10:49:34,799 DEBUG [org.jboss.mq.server.jmx.Queue.LocalEventQueue] Setting securityConf: [security: null] 2004-05-26 10:49:34,799 TRACE [org.jboss.mq.server.jmx.Queue] Constructing 2004-05-26 10:49:34,799 DEBUG [org.jboss.mq.server.jmx.Queue.LocalExecutionQueue] Setting securityConf: [security: null] 2004-05-26 10:49:34,799 TRACE [org.jboss.mq.server.jmx.Queue] Constructing 2004-05-26 10:49:34,799 DEBUG [org.jboss.mq.server.jmx.Queue.RetryQueue] Setting securityConf: [security: null] 2004-05-26 10:49:34,799 TRACE [org.jboss.mq.server.jmx.Queue] Constructing 2004-05-26 10:49:34,799 DEBUG [org.jboss.mq.server.jmx.Queue.FailureQueue] Setting securityConf: [security: null] 2004-05-26 10:49:34,799 TRACE [org.jboss.mq.server.jmx.Queue] Constructing 2004-05-26 10:49:34,799 DEBUG [org.jboss.mq.server.jmx.Queue.SubscriptionQueue] Setting securityConf: [security: null] 2004-05-26 10:49:34,846 TRACE [org.jboss.mq.server.jmx.Invoker] Constructing 2004-05-26 10:49:34,861 TRACE [org.jboss.mq.server.jmx.InterceptorLoader] Constructing 2004-05-26 10:49:35,049 TRACE [org.jboss.mq.security.SecurityManager] Constructing 2004-05-26 10:49:35,049 TRACE [org.jboss.mq.security.SecurityMetadata] Adding role: Role {name=myrole;read=true;write=true;create=true} 2004-05-26 10:49:35,049 TRACE [org.jboss.mq.security.SecurityMetadata] Adding role: Role {name=guest;read=true;write=true;create=true} 2004-05-26 10:49:35,080 TRACE [org.jboss.mq.sm.file.DynamicStateManager] Constructing 2004-05-26 10:49:35,080 TRACE [org.jboss.mq.server.jmx.Queue] Constructing 2004-05-26 10:49:35,096 DEBUG [org.jboss.mq.sm.file.DynamicStateManager] Creating 2004-05-26 10:49:35,096 DEBUG [org.jboss.mq.sm.file.DynamicStateManager] Created 2004-05-26 10:49:35,096 DEBUG [org.jboss.mq.sm.file.DynamicStateManager] Starting 2004-05-26 10:49:35,096 DEBUG [org.jboss.mq.sm.file.DynamicStateManager] Loading config from: file:/C:/jboss-3.2.3/server/crimnet/conf/jbossmq-state.xml 2004-05-26 10:49:35,096 INFO [org.jboss.mq.sm.file.DynamicStateManager] Started jboss.mq:service=StateManager 2004-05-26 10:49:35,127 TRACE [org.jboss.mq.il.jvm.JVMServerILService] Constructing 2004-05-26 10:49:35,174 TRACE [org.jboss.mq.il.uil2.UILServerILService] Constructing 2004-05-26 10:49:35,658 DEBUG [org.jboss.mq.pm.jdbc2.PersistenceManager] Creating 2004-05-26 10:49:35,658 DEBUG [org.jboss.mq.pm.jdbc2.PersistenceManager] Created 2004-05-26 10:49:35,658 DEBUG [org.jboss.mq.server.jmx.DestinationManager] Creating 2004-05-26 10:49:35,674 DEBUG [org.jboss.mq.server.jmx.DestinationManager] Created 2004-05-26 10:49:35,689 DEBUG [org.jboss.mq.server.jmx.Queue.SubscriptionQueue] Creating 2004-05-26 10:49:35,689 DEBUG [org.jboss.mq.server.jmx.Queue.SubscriptionQueue] Created 2004-05-26 10:49:35,689 DEBUG [org.jboss.mq.security.SecurityManager] Creating 2004-05-26 10:49:35,689 DEBUG [org.jboss.mq.security.SecurityManager] Created 2004-05-26 10:49:35,689 DEBUG [org.jboss.mq.server.jmx.Topic.topic1] Creating 2004-05-26 10:49:35,689 DEBUG [org.jboss.mq.server.jmx.Topic.topic1] Created 2004-05-26 10:49:35,689 DEBUG [org.jboss.mq.server.jmx.Queue.queue1] Creating 2004-05-26 10:49:35,689 DEBUG [org.jboss.mq.server.jmx.Queue.queue1] Created 2004-05-26 10:49:35,689 DEBUG [org.jboss.mq.server.jmx.Queue.LocalEventQueue] Creating 2004-05-26 10:49:35,689 DEBUG [org.jboss.mq.server.jmx.Queue.LocalEventQueue] Created 2004-05-26 10:49:35,689 DEBUG [org.jboss.mq.server.jmx.Queue.LocalExecutionQueue] Creating 2004-05-26 10:49:35,689 DEBUG [org.jboss.mq.server.jmx.Queue.LocalExecutionQueue] Created 2004-05-26 10:49:35,689 DEBUG [org.jboss.mq.server.jmx.Queue.RetryQueue] Creating 2004-05-26 10:49:35,689 DEBUG [org.jboss.mq.server.jmx.Queue.RetryQueue] Created 2004-05-26 10:49:35,689 DEBUG [org.jboss.mq.server.jmx.Queue.FailureQueue] Creating 2004-05-26 10:49:35,689 DEBUG [org.jboss.mq.server.jmx.Queue.FailureQueue] Created 2004-05-26 10:49:35,689 DEBUG [org.jboss.mq.server.jmx.InterceptorLoader] Creating 2004-05-26 10:49:35,689 DEBUG [org.jboss.mq.server.jmx.InterceptorLoader] Created 2004-05-26 10:49:35,689 DEBUG [org.jboss.mq.server.jmx.Invoker] Creating 2004-05-26 10:49:35,689 DEBUG [org.jboss.mq.server.jmx.Invoker] Created 2004-05-26 10:49:35,689 DEBUG [org.jboss.mq.il.http.HTTPServerILService] Creating 2004-05-26 10:49:35,689 DEBUG [org.jboss.mq.il.http.HTTPServerILService] Created 2004-05-26 10:49:35,689 DEBUG [org.jboss.mq.il.jvm.JVMServerILService] Creating 2004-05-26 10:49:35,689 DEBUG [org.jboss.mq.il.jvm.JVMServerILService] Created 2004-05-26 10:49:35,689 DEBUG [org.jboss.mq.il.uil2.UILServerILService] Creating 2004-05-26 10:49:35,689 DEBUG [org.jboss.mq.il.uil2.UILServerILService] Created 2004-05-26 10:49:35,689 DEBUG [org.jboss.mq.server.jmx.Queue.DLQ] Creating 2004-05-26 10:49:35,689 DEBUG [org.jboss.mq.server.jmx.Queue.DLQ] Created
The Admin documentation that I have is for 3.2.2. Most of the info on the wiki/faqs is for 3.2.4. Our application is running in production, so 3.2.3 seems to be the best choice, but I can't figure out how to access any of the queues from our message-driven beans.
I've turned up log4j to TRACE level, but don't really know what to look for.
Thanks!
Leila