闵毓
http://www.eshoo.com.cn 欢迎来到异客中国
posts - 49,comments - 97,trackbacks - 0

JMS 简介

JMS即消息服务,是能够异步处理客户请求的开发模型。为支持消息的异步处理,Java/J2EE平台引入了JMS APIJMS支持两种消息模型:点对点和发布/订阅模式。

JMS 抽象对象

spring in action框架中jms相关包结构看,主要包括如下内容:

     org.springframework.jms:

     org.springframework.jms.connection:

     org.springframework.jms.core:

     org.springframework.jms.core.support:

     org.springframework.jms.support

     org.springframework.jms.support.converter:

     org.springframework.jms.support.destination

发送消息

     JmsTemplate模板的使用:

     了解配置:

<beans>

   <!—定义连接工厂-->

   <bean id=”connectionFactory” class=”org.springframework.jndi.JndiObjectFactoryBean”>

   <property name=”jndiName”>

       <value>ConnectionFactory</value>

   </property>

<property name=”jndiTemplate”>

    <ref  local=”jndiTemplate”/>

</property>

</bean>

<!—定义目的地-->

   <bean id=”destination” class=”org.springframework.jndi.JndiObjectFactoryBean”>

     <property name=”jndiName”>

       <value>queue/testQueue</value>

     </property>

<property name=”jndiTemplate”>

    <ref  local=”jndiTemplate”/>

</property>

</bean>

<!—jmsTemplate模板-->

<bean id=”jmsTemplate” class=”org.springframework.jms.core.JmsTemplate”>

     <property name=”connectionFactory”>

       <ref local=”connectionFactory”/>

     </property>

<property name=”defaultDestination”>

    <ref  local=”destination”/>

</property>

</bean>

<bean id=”jndiTemplate” class=”org.springframework.jms.jndi.JndiTemplate”>

     <property name=”environment”>

       <props>

             <prop key = “java.naming.factory.initial”>

                   Org.jnp.interfaces.NamingContextFactory

             </prop>

             <prop key = “java.naming.provider.url”>

                   Jnp://url

             </prop>

             <prop key = “java.naming.factory.url.pkgs”>

                   Org.jboss.naming:org.jnp.interfaces

             </prop>

       </props>

</property>

</bean>

<beans>

以上配置通过spring in action JNDI抽象服务中的org.springframework.jndi.JndiObjectFactoryBean获得。最后定义同客户应用交互的jmsTemplate.org.springframework.jms.core.JmsTemplate,它将引用以上配置中的目的地和连接工厂。

编写客户端代码

JmsTemplate Jt = (JmsTemplate)this.getBean();

Jt.sent(new MessageCreator())

{

   Public Message createMessage(Session session) throws JMSException{

   Return session.createTextMessge(“文本消息,queue/testQueue”);

   Log.info(“发送消息成功;”);

}

}

spring in action框架提供的Jms抽象中,JmsTemplateMessageCreator结合能够发送消息,因此需要实现MessageCreator回调接口定义的createMessage发法。

posted on 2005-12-05 09:42 闵毓 阅读(2234) 评论(0)  编辑  收藏 所属分类: Spring in action

只有注册用户登录后才能发表评论。


网站导航: