JMS 简介
JMS即消息服务,是能够异步处理客户请求的开发模型。为支持消息的异步处理,Java/J2EE平台引入了JMS API。JMS支持两种消息模型:点对点和发布/订阅模式。
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抽象中,JmsTemplate同MessageCreator结合能够发送消息,因此需要实现MessageCreator回调接口定义的createMessage发法。
posted on 2005-12-05 09:42
闵毓 阅读(2253)
评论(0) 编辑 收藏 所属分类:
Spring in action