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
閔毓 閱讀(2260)
評論(0) 編輯 收藏 所屬分類:
Spring in action