完整的jboss messaging手册在这里,本文只谈用户配置
http://docs.jboss.org/jbossmessaging/docs/userguide-1.4.0.SP3/html/index.html
刚安装好的messaging的用户是存在文件系统中的,参考这个文件jboss/server/<id>/conf/login-config.xml
<application-policy name="messaging">
<authentication>
<login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule" flag="required" >
<module-option name= unauthenticatedIdentity">guest</module-option>
<module-option name="usersProperties">props/messaging-users.properties</module-option>
<module-option name="rolesProperties">props/messaging-roles.properties</module-option>
</login-module>
</authentication>
</application-policy>
这是messaging登录模块的设置,用户和角色都在props下面的两个文件中。简单的办法是往里面添加用户。
另外一种办法就是配置database作为用户数据。
1. 首先配置datasource。 jboss/docs/examples/jca目录中已经提供配置模板,可将模板copy到deploy目录下再根据实际数据修改。别忘了把jdbc driver拷贝到jboss/server/<id>/lib中。例如我们使用oracle-ds.xml, 那么jndi=/OracleDS这个datasource已经注册好了。
2. 修改login-config.xml,如下
<application-policy name = "messaging">
<authentication>
<login-module code = "org.jboss.security.auth.spi.DatabaseServerLoginModule"
flag = "required">
<module-option name = "unauthenticatedIdentity">guest</module-option>
<module-option name = "dsJndiName">java:/OracleDS</module-option>
<module-option name = "principalsQuery">SELECT PASSWD FROM JBM_USER WHERE USER_ID=?</module-option>
<module-option name = "rolesQuery">SELECT ROLE_ID, 'Roles' FROM JBM_ROLE WHERE USER_ID=?</module-option>
</login-module>
</authentication>
</application-policy>
如此登录模块就使用OracleDS作为用户数据。
3. 配置JMS persistence。 到jboss/docs/examples/jms目录中把相应数据库类型的xml文件(如oracle-persistence-service.xml)拷贝到jboss/server/<id>/deploy/jboss-messaging.sar中,并且把所有DefaultDS改成OracleDS; 删除原来的hsqldb-persistence-service.xml。
至此JMS用户和存储配置以及完成,参考oracle-persistence-service.xml发现有几个用户已经创建好了。如果要修改,直接改数据库好了,别忘了设置相应的角色