Hi all,
Up until now my app has been running smoothly on jboss 3.2.3. New features that
I am about to start to implement require me to port to 4.0.2 and use EJB2.1
I was using jbossmq-state.xml before to configure user/password/role
information:
| <StateManager>
| <Users>
| <User>
| <Name>guest</Name>
| <Password>guest</Password>
| </User>
| <User>
| <Name>nobody</Name>
| <Password>nobody</Password>
| </User>
| <User>
| <Name>bspub</Name>
| <Password>bspub</Password>
| </User>
| <User>
| <Name>bssub</Name>
| <Password>bssub</Password>
| </User>
| </Users>
| <Roles>
| <Role name="guest">
| <UserName>guest</UserName>
| <UserName>john</UserName>
| </Role>
| <Role name="bluespacepublisher">
| <UserName>bspub</UserName>
| </Role>
| <Role name="bluespacesubscriber">
| <UserName>bssub</UserName>
| </Role>
| </Roles>
| <DurableSubscriptions>
| </DurableSubscriptions>
| </StateManager>
|
I have taken the necessary steps to enable usage of jbossmq-state.xml by
changing login-config.xml to:
| <!-- Security domain for JBossMQ when using file-state-service.xml -->
| <application-policy name = "jbossmq">
| <authentication>
| <login-module code = "org.jboss.mq.sm.file.DynamicLoginModule"
| flag = "required">
| <module-option name =
"unauthenticatedIdentity">guest</module-option>
| <module-option name =
"sm.objectname">jboss.mq:service=StateManager</module-option>
| </login-module>
| </authentication>
| </application-policy>
|
and copying the file-state-service.xml to deploy/jms and my old
jbossmq-state.xml file to the conf directory.
All my components that are posting messages on topics are using authenticated
connections:
| String userName;
| try {
| userName = (String) initialContext.lookup("username");
| }
| catch (NamingException e) {
| Logger.EVENT.debug("A publisher has not yet defined the
userName ejb-env entry, using default.");
| userName = "bspub";
| }
| String password;
| try {
| password = (String) initialContext.lookup("password");
| }
| catch (NamingException e) {
| Logger.EVENT.debug("A publisher has not yet defined the
password ejb-env entry, using default.");
| password = "bspub";
| }
| TopicConnection connection =
this.getTopicConnectionFactory(initialContext).createTopicConnection(userName,
password);
|
The topics are all configured as the one below:
| <mbean code="org.jboss.mq.server.jmx.Topic"
| name="jboss.mq.destination:service=Topic,name=ReceiveMail">
| <depends
optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
| <depends
optional-attribute-name="SecurityManager">jboss.mq:service=SecurityManager</depends>
| <attribute name="SecurityConf">
| <security>
| <role name="bluespacepublisher" read="true" write="true"
create="true"/>
| <role name="bluespacesubscriber" read="true" write="false"
create="true"/>
| </security>
| </attribute>
| </mbean>
|
All goes well, i.e. I am not getting any errors at deployment time, even the
code executes fine until the transaction commits and then I see:
| Caused by: org.jboss.tm.JBossRollbackException: Unable to commit,
tx=TransactionImpl:XidImpl[FormatId=257, GlobalId=Thunder.local/73,
BranchQual=, localId=73] status=STATUS_NO_TRANSACTION; - nested throwable:
(org.jboss.mq.SpyXAException: - nested throwable:
(javax.jms.JMSSecurityException: Connection not authorized to addMessages to
destination: SendMail))
| at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:344)
| at
org.jboss.ejb.plugins.TxInterceptorCMT.endTransaction(TxInterceptorCMT.java:486)
| ... 52 more
| Caused by: org.jboss.mq.SpyXAException: - nested throwable:
(javax.jms.JMSSecurityException: Connection not authorized to addMessages to
destination: SendMail)
| at org.jboss.mq.SpyXAResource.prepare(SpyXAResource.java:134)
| at
org.jboss.tm.TransactionImpl$Resource.prepare(TransactionImpl.java:2101)
| at
org.jboss.tm.TransactionImpl.prepareResources(TransactionImpl.java:1553)
| at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:319)
| ... 53 more
| Caused by: javax.jms.JMSSecurityException: Connection not authorized to
addMessages to destination: SendMail
| at
org.jboss.mq.security.ServerSecurityInterceptor.transact(ServerSecurityInterceptor.java:166)
| at
org.jboss.mq.server.TracingInterceptor.transact(TracingInterceptor.java:438)
| at
org.jboss.mq.server.JMSServerInvoker.transact(JMSServerInvoker.java:186)
| at org.jboss.mq.il.jvm.JVMServerIL.transact(JVMServerIL.java:327)
| at org.jboss.mq.Connection.send(Connection.java:1163)
| at
org.jboss.mq.SpyXAResourceManager.prepare(SpyXAResourceManager.java:207)
| at org.jboss.mq.SpyXAResource.prepare(SpyXAResource.java:130)
| ... 56 more
|
My topic subscriber components all deploy fine and are all using SecurityConf
entries in there deployment descriptors.
What have I missed?
Much obliged,
Rudi
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3908469#3908469
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3908469
-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc. Get Certified Today
Register for a JBoss Training Course. Free Certification Exam
for All Training Attendees Through End of 2005. For more info visit:
http://ads.osdn.com/?ad_id=7628&alloc_id=16845&op=click
_______________________________________________
JBoss-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-user