`
Lincoln
  • 浏览: 81320 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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项目进行阐述。

    <bean id="tq"

       class="org.springframework.jndi.JndiObjectFactoryBean">

       <!--  指定JNDI模板 -->

       <property name="jndiTemplate" ref="jndiTemplate" />

       <!--  指定JNDI名字 -->

       <property name="jndiName" value="queue/testQueue" />

       <!--  是否缓存查找到的Java对象 -->

       <property name="cache" value="true"></property>

       <!--  启动时是否去JNDI树查找目标资源(即,由jndiName指定的) -->

       <property name="lookupOnStartup" value="true"></property>

       <!--  是否为资源引用 -->

       <property name="resourceRef" value="false"></property>

    </bean>

 

    <bean id="jndiTemplate"

       class="org.springframework.jndi.JndiTemplate">

       <!--  具体的属性与厂商提供的产品有关 -->

       <property name="environment">

           <props>

              <prop key="java.naming.factory.initial">

                  org.jnp.interfaces.NamingContextFactory

              </prop>

              <prop key="java.naming.provider.url">

                  jnp://localhost:1099

              </prop>

              <prop key="java.naming.factory.url.pkgs">

                  org.jboss.naming:org.jnp.interfaces

              </prop>

           </props>

       </property>

    </bean>
分享到:
评论

相关推荐

    一种基于STC增强型单片机的大电容的测量.docx

    这一设计使得系统更加紧凑,易于集成。 ##### 3.2 充电电路计算 充电电路的核心在于计算RC电路的时间常数。通过对电容的充电过程进行监测,可以获取到电容充电到特定电压所需的准确时间。通过单片机控制充电过程,...

    关于JAVA的jmail组件

    Jindi Mail2SMS是一个邮件到短信息的网关软件。该软件基于Java编写,采用标准的POP3协议与邮件服务器通讯,采用RS232实现手机对手机或HTTP方式实现WEB对手机的短信息SMS发送。还可以通过CMPP协议与中国移动短消息...

    基于java的大容量电子邮件系统技术架构.docx

    Java对XML和Web Service的良好支持,使得系统能够轻松地与其他应用和服务集成,实现邮件系统的功能扩展。相较于基于CGI的邮件系统,Java具有更好的性能、安全性和开发效率。 在大容量电子邮件系统的技术架构设计中...

    公网IP/网站运行侦查员

    2.同时可以监测自己关注的网站是否运行正常,如果服务器出现掉线等无法打开情况, 系统会自动的演奏音乐(本软件同一级目录下的歌曲gequ.mp3);给予及时的提醒。  制作本软件的初衷,由于本人是一个网站站长,...

    2024年欧洲磷酸二钙市场主要企业市场占有率及排名.docx

    - **磷酸二钙**(Dicalcium Phosphate),是一种重要的无机化合物,化学式为CaHPO4·2H2O。它广泛应用于食品加工、饲料添加剂、肥料制造等行业。 - **统计范围**:本报告主要聚焦于全球和欧洲市场内的磷酸二钙产品的...

    如何定位crash的终端命令

    通过dysm定位crash,结合终端命令,定位到具体哪一行代码出现问题。

Global site tag (gtag.js) - Google Analytics