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

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

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

    和風(fēng)細雨

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

    使用Spring2.0發(fā)送和接受JMS消息

    1.JmsQueueSender類,用于發(fā)送消息
    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 和風(fēng)細雨 閱讀(665) 評論(0)  編輯  收藏


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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 777成影片免费观看| 中文字幕免费视频| 亚洲电影免费观看| 国产精品无码免费视频二三区| 国产成人综合亚洲AV第一页| 亚洲国产综合在线| 日韩在线视频免费| 亚洲免费在线视频播放| 亚洲AV无码成人精品区大在线| 亚洲国产精品自在线一区二区| 亚洲av永久无码天堂网| 在线观看人成视频免费无遮挡 | 一级毛片正片免费视频手机看| 91热久久免费精品99| 天堂亚洲免费视频| 亚洲制服丝袜一区二区三区| jizz中国免费| 午夜网站免费版在线观看| 久久精品亚洲综合一品| 老司机福利在线免费观看| 麻豆一区二区免费播放网站| 亚洲精品夜夜夜妓女网| 午夜亚洲WWW湿好爽| 亚洲成人免费网址| 亚洲啪啪综合AV一区| 亚洲AV无码国产一区二区三区| 2021在线永久免费视频| 亚洲欧洲成人精品香蕉网| 综合偷自拍亚洲乱中文字幕| 真人做人试看60分钟免费视频| 亚洲免费人成在线视频观看| 亚洲AⅤ男人的天堂在线观看| 51视频精品全部免费最新| 伊人婷婷综合缴情亚洲五月| 欧美亚洲精品一区二区| 国产无人区码卡二卡三卡免费 | 久久无码av亚洲精品色午夜| 免费能直接在线观看黄的视频| 国产亚洲AV无码AV男人的天堂| 国产91成人精品亚洲精品| 成人毛片手机版免费看|