閔毓
          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 閔毓 閱讀(2270) 評論(0)  編輯  收藏 所屬分類: Spring in action
          主站蜘蛛池模板: 赣榆县| 大田县| 吉木萨尔县| 龙井市| 牡丹江市| 鄂温| 柳河县| 宁津县| 哈尔滨市| 南昌市| 恩平市| 泾源县| 柘荣县| 芜湖县| 高邮市| 乐山市| 会泽县| 天水市| 永州市| 辽阳市| 金昌市| 封丘县| 伊春市| 喀喇沁旗| 明星| 罗山县| 工布江达县| 永福县| 皮山县| 乳山市| 清水河县| 久治县| 麻城市| 澄城县| 太原市| 吉安市| 垫江县| 汉中市| 阜康市| 阜新| 吴堡县|