ann
          冰是沒有未來的,因為它的永恒
          posts - 107,comments - 34,trackbacks - 0
          1. spring中的配置文件
               
          <?xml version="1.0" encoding="UTF-8"?>
          <beans xmlns="http://www.springframework.org/schema/beans"
                 xmlns:xsi
          ="http://www.w3.org/2001/XMLSchema-instance"
                 xmlns:jms
          ="http://www.springframework.org/schema/jms"
                 xsi:schemaLocation
          ="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
                 http://www.springframework.org/schema/jms http://www.springframework.org/schema/jms/spring-jms-2.5.xsd">

              
          <!-- ***************************  連接openMQ server ******************************** -->
               
          <bean id="connectionfactoryfactory" class="com.fg114.customercenter.jms.factory.OpenMqConnectionFactory">
                  
          <property name="properties">
                      
          <props>
                          
          <prop key="imqAddressList">localhost:7676</prop>
                      
          </props>
                  
          </property>
               
          </bean>

               
          <bean id="connectionfactory" factory-bean="connectionfactoryfactory" factory-method="createConnectionFactory"/>

               
          <bean id="springconnectionfactory" class="org.springframework.jms.connection.SingleConnectionFactory">
                  
          <property name="targetConnectionFactory" ref="connectionfactory" />
               
          </bean>
               
               
          <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
                  
          <property name="connectionFactory" ref="springconnectionfactory" />
               
          </bean>

           
          <!-- ***************************  topic 和 queue TOPIC通道可以有消息消費者, QUEUE只能一個消息消費者******************************** -->
               
          <bean name="mytopic1" class="com.sun.messaging.Topic">
                   
          <constructor-arg type="java.lang.String" value="mytopic1"/>
               
          </bean>

               
          <bean name="mytopic2" class="com.sun.messaging.Topic">
                   
          <constructor-arg type="java.lang.String" value="mytopic2"/>
               
          </bean>

               
          <bean name="myqueue" class="com.sun.messaging.Queue">
                   
          <constructor-arg type="java.lang.String" value="myqueue"/>
               
          </bean>

             
          <!--*************************  有幾個MessageListener既有幾個MessageListenerContainer **********-->

              
          <bean name="topicListenerMytopic1" class="org.springframework.jms.listener.adapter.MessageListenerAdapter">
                  
          <constructor-arg ref="messageReceiver"/>
                  
          <property name="messageConverter" ref="springMessageConverter" />
                  
          <property name="defaultListenerMethod" value="receiveTopic"/>
              
          </bean>

              
          <bean id="topicListenerContainerMytopic1" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
                  
          <property name="connectionFactory" ref="springconnectionfactory" />
                  
          <property name="destination" ref="mytopic1" />
                  
          <property name="messageListener" ref="topicListenerMytopic1" />
              
          </bean>

               
          <bean name="topicListenerMytopic2"  class="org.springframework.jms.listener.adapter.MessageListenerAdapter">
                  
          <constructor-arg ref="messageReceiver"/>
                  
          <property name="messageConverter" ref="springMessageConverter" />
                  
          <property name="defaultListenerMethod" value="receiveTopic"/>
              
          </bean>

              
          <bean id="topicListenerContainerMytopic2"   class="org.springframework.jms.listener.DefaultMessageListenerContainer">
                  
          <property name="connectionFactory" ref="springconnectionfactory" />
                  
          <property name="destination" ref="mytopic2" />
                  
          <property name="messageListener" ref="topicListenerMytopic2" />
              
          </bean>

              
          <bean name="queueListenerMyqueue1" class="org.springframework.jms.listener.adapter.MessageListenerAdapter">
                  
          <constructor-arg ref="messageReceiver"/>
                  
          <property name="messageConverter" ref="springMessageConverter" />
                  
          <property name="defaultListenerMethod" value="receiveTopic"/>
              
          </bean>

              
          <bean id="queueListenerContainerMyqueue1"  class="org.springframework.jms.listener.DefaultMessageListenerContainer">
                 
          <property name="connectionFactory" ref="springconnectionfactory" />
                  
          <property  name="destination" ref="myqueue"/>
                  
          <property name="messageListener" ref="queueListenerMyqueue1" />
              
          </bean>

               
          <bean name = "springMessageConverter" class="org.springframework.jms.support.converter.SimpleMessageConverter"/>

          </beans>

           2. 接收
            
          /*
           * To change this template, choose Tools | Templates
           * and open the template in the editor.
           
          */

          package com.test.jms.receive;

          import com.test.jms.model.Customer;
          import java.io.Serializable;
          import javax.annotation.Resource;
          import javax.jms.Destination;
          import javax.jms.Topic;
          import org.springframework.stereotype.Component;
          /**
           *
           * 
          @author ann
           
          */
          @Component(value 
          = "messageReceiver")
          public class MessageReceiver {

              
          public void receive(String msg) {
                  System.out.println(msg);
              }

              
          public void receive(Serializable msg) {
                    
          if(msg instanceof Customer){
                        Customer c 
          = (Customer) msg;
                        System.out.println(
          "c = " + c.getName());
                    }
          else {
                         String s 
          = (String) msg;
                         System.out.println(
          "s = " + s);
                    }
              }

              
          public void receiveTopic(String msg){
                        
          //String s = (String) msg;
                         System.out.println("s = " + msg);

              }


          }
             

          3.發(fā)送
            
          /*
           * To change this template, choose Tools | Templates
           * and open the template in the editor.
           
          */

          package com.fg114.test.jms.service.impl;


          import java.io.Serializable;
          import javax.jms.Destination;
          import javax.jms.Topic;
          import org.springframework.stereotype.Component;
          import javax.annotation.Resource;
          import javax.jms.JMSException;
          import javax.jms.Message;
          import javax.jms.Session ;
          import org.springframework.jms.core.JmsTemplate;
          import org.springframework.jms.core.MessageCreator;

          /**
           *
           * 
          @author ann
           
          */
          //@Component
          public class MessageSendServiceImpl {

          //    @Resource(name = "jmsTemplate")
          //    private JmsTemplate jmsTemplate;
          //
          //    @Resource(name = "mytopic1")
          //    private Destination desctination;

              @Override
              
          public void sendString(String queueName, final String msg) {
          //        jmsTemplate.send(queueName, new MessageCreator() {
          //            public Message createMessage(Session session) throws JMSException {
          //                return session.createTextMessage(msg);
          //            }
          //        });
              }

              @Override
              
          public void sendObject(String queueName, final Serializable obj) {
          //        jmsTemplate.send(queueName, new MessageCreator() {
          //            public Message createMessage(Session session) throws JMSException {
          //                return session.createObjectMessage (obj);
          //            }
          //        });
              }

              
          public void sendTopic(final String message){
          //        jmsTemplate.send(desctination, new MessageCreator() {
          //            public Message createMessage(Session session) throws JMSException {
          //                return session.createTextMessage(message);
          //            }
          //        });
              }



          }
            







          posted on 2009-04-24 10:56 冰是沒有未來的,因為它的永恒 閱讀(1456) 評論(0)  編輯  收藏 所屬分類: java

          當(dāng)下,把心放下 放下如果是可能的,那一定是在當(dāng)下,
          不在過去,也不在未來。
          當(dāng)下放下。唯有活在當(dāng)下,你的問題才能放下。

          主站蜘蛛池模板: 大渡口区| 凤阳县| 濮阳县| 六枝特区| 南岸区| 长乐市| 藁城市| 达尔| 高台县| 巴彦淖尔市| 仪征市| 方正县| 松原市| 社会| 达州市| 兴山县| 本溪市| 天峨县| 东乌珠穆沁旗| 兰州市| 清远市| 陵川县| 达孜县| 南昌县| 白河县| 保定市| 萍乡市| 广饶县| 临桂县| 腾冲县| 禄劝| 称多县| 台东县| 波密县| 仁布县| 荆门市| 乌兰察布市| 扎兰屯市| 阿拉善盟| 罗城| 增城市|