<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    和風細雨

    世上本無難事,心以為難,斯乃真難。茍不存一難之見于心,則運用之術自出。

    使用Spring2.0發送和接受JMS消息

    1.JmsQueueSender類,用于發送消息
    package com.sitinspring.springjms;

    import javax.jms.ConnectionFactory;
    import javax.jms.JMSException;
    import javax.jms.Message;
    import javax.jms.Queue;
    import javax.jms.Session;

    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.FileSystemXmlApplicationContext;
    import org.springframework.jms.core.JmsTemplate;
    import org.springframework.jms.core.JmsTemplate102;
    import org.springframework.jms.core.MessageCreator;

    public class JmsQueueSender {

        
    private JmsTemplate jmsTemplate;

        
    private Queue queue;

        
    public void setConnectionFactory(ConnectionFactory cf) {
            
    this.jmsTemplate = new JmsTemplate102(cf, false);
        }


        
    public void setQueue(Queue queue) {
            
    this.queue = queue;
        }


        
    public void simpleSend() {
            
    this.jmsTemplate.send(this.queue, new MessageCreator() {
                
    public Message createMessage(Session session) throws JMSException {
                    
    return session.createTextMessage("hello queue world");
                }

            }
    );
        }

        
        
    public static void main(String[] args){
            
            ApplicationContext appContext 
    = new FileSystemXmlApplicationContext("spring-jms.xml");

            JmsQueueSender jmsSender 
    = (JmsQueueSender)appContext.getBean("jmsQueueSender");        
            jmsSender.simpleSend();
        }

    }


    2.ExampleListener,用于接受消息,他是一個Message Driven Pojo.
    package com.sitinspring.springjms;

    import javax.jms.JMSException;
    import javax.jms.Message;
    import javax.jms.MessageListener;
    import javax.jms.TextMessage;

    public class ExampleListener implements MessageListener {

        
    public void onMessage(Message message) {
            
    //org.springframework.jms.listener.DefaultMessageListenerContainer102
            if (message instanceof TextMessage) {
                System.out.print(
    "I have received a msg:");
                
    try {
                    System.out.println(((TextMessage) message).getText());
                }
     catch (JMSException ex) {
                    
    throw new RuntimeException(ex);
                }

            }
     else {
                
    throw new IllegalArgumentException(
                        
    "Message must be of type TextMessage");
            }

        }

    }

    3.配置文件spring-jms.xml,所有配置均在其中.
    值得注意的是標有102處,如果你使用的是DefaultMessageListenerContainer,你將為異常所困擾.
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
    <beans>
        
    <!-- JMS 配置-->
        
    <bean id="jmsQueueSender"
            
    class="com.sitinspring.springjms.JmsQueueSender">
            
    <property name="connectionFactory" ref="connectionFactory" />
            
    <property name="queue" ref="destination" />
        
    </bean>    

        
    <!-- and this is the attendant message listener container -->
        
    <bean id="listenerContainer"
            
    class="org.springframework.jms.listener.DefaultMessageListenerContainer102">        
            
    <property name="connectionFactory" ref="connectionFactory" />
            
    <property name="concurrentConsumers" value="5" />
            
    <property name="destination" ref="destination" />
            
    <property name="messageListener" ref="messageListener" />
        
    </bean>
        
        
    <!-- this is the Message Driven POJO (MDP) -->
        
    <bean id="messageListener" class="com.sitinspring.springjms.ExampleListener" />

        
    <bean id="connectionFactory"
            
    class="org.springframework.jndi.JndiObjectFactoryBean">
            
    <property name="jndiName">
                
    <value>MyJMSConnectionFactory</value>
            
    </property>
            
    <property name="jndiTemplate">
                
    <ref local="jndiTemplate"></ref>
            
    </property>
        
    </bean>

        
    <bean id="destination"
            
    class="org.springframework.jndi.JndiObjectFactoryBean">
            
    <property name="jndiName">
                
    <value>MyJMSQueue</value>
            
    </property>
            
    <property name="jndiTemplate">
                
    <ref local="jndiTemplate"></ref>
            
    </property>
        
    </bean>

        
    <bean id="jmsTemplate"
            
    class="org.springframework.jms.core.JmsTemplate">
            
    <property name="connectionFactory">
                
    <ref local="connectionFactory" />
            
    </property>
            
    <property name="defaultDestination">
                
    <ref local="destination" />
            
    </property>
        
    </bean>

        
    <!-- JNDI 配置 -->
        
    <bean id="jndiTemplate"
            
    class="org.springframework.jndi.JndiTemplate">
            
    <property name="environment">
                
    <props>
                    
    <prop key="java.naming.factory.initial">
                        weblogic.jndi.WLInitialContextFactory
                    
    </prop>
                    
    <prop key="java.naming.provider.url">
                        t3:
    //localhost:7001
                    </prop>
                    
    <prop key="java.naming.factory.url.pkgs">
                        weblogic.jndi.factories
                    
    </prop>
                
    </props>
            
    </property>
        
    </bean>
    </beans>


    程序下載(程序用到的jar請自行添加,主要是Weblogic.jar和Spring.jar及jakatar commons的一些包):
    http://m.tkk7.com/Files/sitinspring/SpringJMS20070910171622.rar

    參考資料下載:
    Spring2.0的參考手冊(兩個文件下載到同一目錄再解壓)
    http://m.tkk7.com/Files/junglesong/spring2.0_ref.part1.rar
    http://m.tkk7.com/Files/junglesong/spring2.0_ref.part2.rar

    posted on 2008-02-22 12:16 和風細雨 閱讀(670) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 国产一区二区三区免费在线观看 | 2017亚洲男人天堂一| 日韩精品无码免费专区网站| 亚洲AV永久无码天堂影院 | 国产成人免费片在线视频观看| 亚洲日本在线观看视频| 亚洲成a人片77777群色| 6080午夜一级毛片免费看 | 四虎成人精品国产永久免费无码 | 亚洲日韩乱码久久久久久| **一级一级毛片免费观看| 亚洲成人福利在线| 成人黄页网站免费观看大全| 亚洲愉拍一区二区三区| 无码囯产精品一区二区免费| 亚洲AV无码乱码国产麻豆穿越| 免费大片av手机看片| 9久9久女女免费精品视频在线观看| 亚洲精品亚洲人成在线观看| 亚洲久热无码av中文字幕| 亚欧免费一级毛片| 亚洲国产精品美女| 性做久久久久免费看| 久久久久久国产a免费观看不卡 | 日本激情猛烈在线看免费观看| 亚洲国产中文字幕在线观看| 免费久久人人爽人人爽av| 亚洲白色白色永久观看| 精品国产污污免费网站| 亚洲熟女乱综合一区二区| 免费国产在线视频| 亚洲 欧洲 自拍 另类 校园| 亚洲A∨精品一区二区三区| a成人毛片免费观看| 亚洲av专区无码观看精品天堂| 国产做床爱无遮挡免费视频| 久久久国产精品福利免费| 亚洲中文字幕无码mv| 亚洲人成图片小说网站| 德国女人一级毛片免费| 韩国免费A级毛片久久|