閔毓
          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 閔毓 閱讀(2260) 評論(0)  編輯  收藏 所屬分類: Spring in action
          主站蜘蛛池模板: 吴江市| 安溪县| 通化县| 永新县| 兴海县| 漳州市| 格尔木市| 正镶白旗| 澄迈县| 博湖县| 荣成市| 扬中市| 泽库县| 平江县| 靖安县| 城步| 恩平市| 井冈山市| 遵化市| 惠安县| 福清市| 佛坪县| 牡丹江市| 古蔺县| 深水埗区| 湖州市| 余干县| 河池市| 交城县| 柳林县| 桐城市| 东山县| 翁源县| 潢川县| 灵武市| 资中县| 阳东县| 罗山县| 高邮市| 桐乡市| 伊金霍洛旗|