JMS(Jboss Messaging)的一点使用心得(三)Spring扩展应用-Security


JMS Security

有些TopicQueue需要相应的权限才能操作。

Topic和Queue的权限设定可以在</jboss-4.2.2.GA/server/messaging/deploy/jboss-messaging.sar/destinations-service.xml>中看到

    < mbean  code ="org.jboss.jms.server.destination.TopicService"
      name
="jboss.messaging.destination:service=Topic,name=testTopic"
      xmbean-dd
="xmdesc/Topic-xmbean.xml" >
      
< depends  optional-attribute-name ="ServerPeer" > jboss.messaging:service=ServerPeer </ depends >
      
< depends > jboss.messaging:service=PostOffice </ depends >
      
< attribute  name ="SecurityConfig" >
         
< security >
            
< role  name ="guest"  read ="true"  write ="true" />
            
< role  name ="publisher"  read ="true"  write ="true"  create ="false" />
            
< role  name ="durpublisher"  read ="true"  write ="true"  create ="true" />
         
</ security >
      
</ attribute >
   
</ mbean >

 

   如果没有设定security,则使用</jboss-4.2.2.GA/server/messaging/deploy/jboss-messaging.sar/messaging-service.xml>中默认的设定。

       < attribute  name ="DefaultSecurityConfig" >
        
< security >
            
< role  name ="guest"  read ="true"  write ="true"  create ="true" />
        
</ security >
      
</ attribute >

 

如果想操作一个有Security的Queue或者Topic,可以使用Spring的UserCredentialsConnectionFactoryAdapter。在Spring中的设定如下:

     < jee:jndi-lookup  id ="jmsConnectionFactory"  lookup-on-startup ="false"  proxy-interface ="javax.jms.ConnectionFactory"
        jndi-name
="ConnectionFactory" >
        
< jee:environment >
            java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
            java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces 
            java.naming.provider.url=localhost:1099
        
</ jee:environment >
    
</ jee:jndi-lookup >

    
< bean  id ="myConnectionFactory"  class ="org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter"
        lazy-init
="true" >
        
< property  name ="targetConnectionFactory"  ref ="jmsConnectionFactory"   />
        
< property  name ="username"  value ="guest"   />
        
< property  name ="password"  value ="guest"   />
    
</ bean >

    
< bean  id ="jmsTemplate"  lazy-init ="true"  class ="org.springframework.jms.core.JmsTemplate" >
        
< property  name ="connectionFactory"  ref ="myConnectionFactory"   />
        
< property  name ="defaultDestinationName"  value ="A"   />
    
</ bean >

 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值