Spring2.0JINDI集成(2)

为了简化 JNDI API 的使用,Spring 2.0框架专门提供了org.springframework.jndi包。其中,JndiTemplateEditor类继承于 PropertyEditorSupport类,供实现JndiTemplate对象的属性编辑器使用,即开发者能够通过字符串方式实现对 JndiTemplate值得设置(或者在IDE中编辑它)。

通常,开发者可以通过如下4种方式对JNDI资源进行CRUD操作。

1. 单独使用JndiObjectFactroyBean:这种方式最常见(Spring1.x)。这是负责查找JNDI对象的FactroyBean。

2. 同时使用JndiObjectTargetSource和ProxyFactoryBean:这种组合使用较少,因为这同上述单独使用JndiObjectFactoryBean的效果一样,而且在配置上也没有占有优势。

3. 使用JndiTemplate:辅助类,类似于JdbcTemplate,以简化对JNDI的CRUD操作。如果用户需要进行高级自定义工作,则还可以使用JndiCallback回调接口。

4. Spring2.0引入的<jndi-lookup/>内容模式。

单独使用JndiObjectFactoryBean

为了展示JndiObjectFactoryBean的功力,我们来使用JBoss应用服务器提供的JNDI服务。通过JBoss的JMX控制台应用,开发者能够获得全局JNDI名。

我们以消息队列“queue/testQueue”为例,并结合Jbossjndidemo项目进行阐述。

代码
  1. <bean id="tq"  
  2.   
  3.    class="org.springframework.jndi.JndiObjectFactoryBean">  
  4.   
  5.    <!--  指定JNDI模板 -->  
  6.   
  7.    <property name="jndiTemplate" ref="jndiTemplate" />  
  8.   
  9.    <!--  指定JNDI名字 -->  
  10.   
  11.    <property name="jndiName" value="queue/testQueue" />  
  12.   
  13.    <!--  是否缓存查找到的Java对象 -->  
  14.   
  15.    <property name="cache" value="true"></property>  
  16.   
  17.    <!--  启动时是否去JNDI树查找目标资源(即,由jndiName指定的) -->  
  18.   
  19.    <property name="lookupOnStartup" value="true"></property>  
  20.   
  21.    <!--  是否为资源引用 -->  
  22.   
  23.    <property name="resourceRef" value="false"></property>  
  24.   
  25. </bean>  
  26.   
  27.   
  28.   
  29. <bean id="jndiTemplate"  
  30.   
  31.    class="org.springframework.jndi.JndiTemplate">  
  32.   
  33.    <!--  具体的属性与厂商提供的产品有关 -->  
  34.   
  35.    <property name="environment">  
  36.   
  37.        <props>  
  38.   
  39.           <prop key="java.naming.factory.initial">  
  40.   
  41.               org.jnp.interfaces.NamingContextFactory  
  42.   
  43.           </prop>  
  44.   
  45.           <prop key="java.naming.provider.url">  
  46.   
  47.               jnp://localhost:1099  
  48.   
  49.           </prop>  
  50.   
  51.           <prop key="java.naming.factory.url.pkgs">  
  52.   
  53.               org.jboss.naming:org.jnp.interfaces  
  54.   
  55.           </prop>  
  56.   
  57.        </props>  
  58.   
  59.    </property>  
  60.   
  61. </bean>
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值