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

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

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

    風(fēng)人園

    弱水三千,只取一瓢,便能解渴;佛法無邊,奉行一法,便能得益。
    隨筆 - 99, 文章 - 181, 評論 - 56, 引用 - 0
    數(shù)據(jù)加載中……

    ActiveMq 的安裝及整合spring 使用


    1、下載 安裝
    在windows xp 上,直接解壓就可以使用
    在2003 上,還需要配置一下,缺一個文件,否則無法啟動

    2、mq 配置
    默認(rèn)使用 文件持久化的方式,無需進(jìn)行配置,只需要通過代碼,標(biāo)記消息為持久化即可

    //設(shè)置 消息為 ‘持久化’ 消息,隊(duì)列服務(wù)器重啟后,會重新載入
    message.setJMSDeliveryMode(DeliveryMode.PERSISTENT);
    message.setString("context", context);

    2、整合spring
    mq的spring 配置文件, 此處三個bean
     mq 服務(wù)器配置,sender ,監(jiān)聽器
    完成系統(tǒng)的消息發(fā)送和接收

    <bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
            
    <property name="brokerURL" value="tcp://10.10.1.31:61616" />
        
    </bean>
        
        
    <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
            
    <property name="connectionFactory" ref="connectionFactory" />
        
    </bean>
         
        
    <!--  ============================  消息發(fā)送 ============================== -->
        
        
    <!-- ecp.sd.log -->
        
    <bean id="logDestination" class="org.apache.activemq.command.ActiveMQQueue">
            
    <constructor-arg value="km.wlog"/>
        
    </bean>
        
        
    <bean id="logMessageSender" class="com.chint.mq.sender.LogMessageSender">
            
    <property name="destination" ref="logDestination" />
            
    <property name="jmsTemplate" ref="jmsTemplate" />
        
    </bean>
        
        
    <!--=============================  隊(duì)列監(jiān)聽器  ==========================  -->
        
        
    <!-- 日志 隊(duì)列監(jiān)聽器 
        
    <bean id="logContextListener" class="com.chint.mq.listener.LogContextListener">
        
    </bean>
        
        
    <bean class="org.springframework.jms.listener.SimpleMessageListenerContainer">
            
    <property name="connectionFactory" ref="connectionFactory"/>
            
    <property name="destinationName" value="km.wlog"/>
            
    <property name="messageListener" ref="logContextListener"/>
        
    </bean>
        
    -->

    消息發(fā)送者
    @Service
    public class LogMessageSender extends BaseMessageSender{
        
        
    public void sendMessage(final String context) {
            jmsTemplate.send(destination, 
    new MessageCreator(){

                @Override
                
    public Message createMessage(Session session) throws JMSException {
                    MapMessage message 
    = session.createMapMessage();
                    
                    
    //設(shè)置 消息為 ‘持久化’ 消息,隊(duì)列服務(wù)器重啟后,會重新載入
                    message.setJMSDeliveryMode(DeliveryMode.PERSISTENT);
                    message.setString(
    "context", context);
                    
                    logger.info(
    "KM INFO [LogMessageSender] send message context ({})", context);
                    
                    
    return message;
                }

                
            }
    );
        }


    }

    消息接受者
    /**
     * 
    @author wxf
     *
     
    */

    public class LogContextListener extends BaseContextListener implements MessageListener{

        @Autowired
        
    private WorkLogManager workLogManager;
        
        @Override
        
    public void onMessage(Message arg) {
            
    if(arg instanceof MapMessage) {
                MapMessage message 
    = (MapMessage)arg;
                
                
    try {
                    String context 
    = message.getString("context");
                    logger.info(
    "KM INFO [LogContextListener] get message context ({})", context);   
                }
     catch (JMSException e) {
                    
    throw JmsUtils.convertJmsAccessException(e);
                }

            }
     else {
                System.out.println(arg.toString());
            }

        }


    }


    以上就完成了 MQ的使用,比較簡單。

    通過spring使用mq從代碼來講還是很簡單的,但是mq的性能可能需要額外的調(diào)整一下才能達(dá)到最佳的狀態(tài),特別是大數(shù)量的情況下。

    僅作記錄

    posted on 2011-11-09 09:25 風(fēng)人園 閱讀(632) 評論(0)  編輯  收藏 所屬分類: MQ


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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 久久久久久久久久免免费精品 | 亚洲AV成人无码网天堂| 一级人做人爰a全过程免费视频| 成人爽a毛片免费| 成人免费无码大片a毛片软件| 综合亚洲伊人午夜网 | 日韩中文字幕在线免费观看| 激情综合色五月丁香六月亚洲| 亚洲精品高清国产麻豆专区| 菠萝菠萝蜜在线免费视频| 99免费在线观看视频| 国产一级淫片免费播放| 日韩精品一区二区亚洲AV观看| 日韩成人精品日本亚洲| 99在线免费观看视频| | 成年女人免费碰碰视频| 亚洲精品乱码久久久久久按摩| 亚洲天堂男人影院| 黄色网站软件app在线观看免费| 成人片黄网站色大片免费| 情人伊人久久综合亚洲| 国产精品亚洲二区在线| 亚欧在线精品免费观看一区| 精品国产日韩亚洲一区| 亚洲七久久之综合七久久| 久久免费区一区二区三波多野| 免费看国产精品麻豆| 亚洲午夜电影一区二区三区| 成年女人A毛片免费视频| 日韩一区二区三区免费体验| 亚洲成人动漫在线| www在线观看播放免费视频日本| 毛片免费观看视频| 77777_亚洲午夜久久多人| 亚洲一区二区三区在线观看网站| 国产成人亚洲精品91专区高清| 亚欧在线精品免费观看一区| 亚洲AV一宅男色影视| yellow免费网站| 日本xxwwxxww在线视频免费|