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

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

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

    隨筆-124  評論-194  文章-0  trackbacks-0

    事情開始想的簡單,可開始做發(fā)現(xiàn)沒那么容易。

    開始只是想能夠找一個具有CALLBACK功能的REMOTING RPC式的POJO方案。一搜就是LINGO,啥話也不說了,整!

    可沒想到LINGO依賴于4.0.2的ACTIVEMQ,且POM里的MAVEN路徑也沒更新成ACTIVEMQ搬家后的地方(從CODEHAUSE搬到APACHE了)。去改它的POM指向4.1.1,后來不行又找了4.0.2來自己手工安裝上。

    這個過程中,發(fā)現(xiàn)了其實直接用SPRING+MQ的方案也不錯,這里有個方案。再看看LINGO的用戶論壇,門可羅雀,算了,轉(zhuǎn)攻MQ吧,別涂簡單了。好像工作量就是多寫一個消息到POJO的CONVERTER,也可以達(dá)到直接發(fā)POJO。

    沒想到,這邊也不是很順,不斷報解析不到http://activemq.org/config/1.0schemaLocation,我按照這里說的,自己寫了META-INF里的spring.schema,順便學(xué)了下,這個文件就是告訴SPRING到本地找XSD文件的。

    暈!可還是報這個錯,我想最新版應(yīng)該沒事吧,又找來MQ的5.0 SNAPSHOT版,還是一樣,最后我把SPRING的LOG4J級別設(shè)成DEBUG,發(fā)現(xiàn)是報找不到XBEAN的解析HANDLER:

        <dependency>
          <groupId>org.apache.xbean</groupId>
          <artifactId>xbean-spring</artifactId>
           <version>3.2</version>
        </dependency>  


    趕緊加上,這次LOG走得遠(yuǎn)點,可以還是報找不到SCHEMA,徹底暈死了!最后仔仔細(xì)細(xì)查配置文件,發(fā)現(xiàn)我從官網(wǎng)這里,拷貝的SCHEMALOCATION:http://activemq.apache.org/snapshot-schema/activemq-core-5.0-SNAPSHOT.xsd,而解開實際的MQ的JAR包里,看相應(yīng)的meta-inf/spring.schema文件,又是http://activemq.apache.org/schema/activemq-core-5.0.xsd,看出區(qū)別了吧?所以對應(yīng)不上找不著,改了這里,就好了。把JMS配置及POM相關(guān)部分貼上來以明志,這才是開始呀!


    <?xml version="1.0" encoding="UTF-8" ?>
         
    <beans 
      
    xmlns="http://www.springframework.org/schema/beans" 
      xmlns:amq
    ="http://activemq.org/config/1.0"
      xmlns:xsi
    ="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation
    ="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
        http://activemq.org/config/1.0 http://activemq.apache.org/schema/activemq-core-5.0.xsd"
    >
            
     
        
    <!--  embedded ActiveMQ Broker -->
        
    <amq:broker useJmx="false" persistent="false">
            
    <amq:transportConnectors>
                
    <amq:transportConnector uri="tcp://localhost:6116"/>
            
    </amq:transportConnectors>
        
    </amq:broker>

        
    <!--  ActiveMQ connectionFactory  -->
        
    <amq:connectionFactory id="jmsConnectionFactory" brokerURL="tcp://localhost:6116"/>

        
    <!--  ActiveMQ destinations  -->
        
    <amq:queue name="destination" physicalName="org.apache.activemq.spring.Test.spring.embedded"/>

        
    <!--  Spring JmsTemplate config -->
        
    <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
            
    <property name="connectionFactory">
                
    <!--  lets wrap in a pool to avoid creating a connection per send -->
                
    <bean class="org.springframework.jms.connection.SingleConnectionFactory">
                    
    <property name="targetConnectionFactory" ref="jmsConnectionFactory"/>
                
    </bean>
            
    </property>
            
    <!-- custom MessageConverter -->
            
    <property name="messageConverter" ref="orderMessageConverter"/>
        
    </bean>

        
    <!--  OrderMessage converter  -->
        
    <bean id="statusConverter" class="com.exchangebit.nms.magic.mq.ConvertAddHostData"/>

        
    <!-- POJO which send Message uses  Spring JmsTemplate -->
        
    <bean id="statusProducer" class="com.exchangebit.nms.magic.mq.StatusProducer">
            
    <property name="template" ref="jmsTemplate"/>
            
    <property name="destination" ref="destination"/>
        
    </bean>

        
    <!--  Message Driven POJO (MDP) -->
        
    <bean id="messageListener" class="org.springframework.jms.listener.adapter.MessageListenerAdapter">
            
    <constructor-arg>
                
    <bean class="com.exchangebit.nms.magic.mq.StatusConsumer">
                
    </bean>
            
    </constructor-arg>
            
    <property name="messageConverter" ref="statusConverter"/>
        
    </bean>

        
    <bean id="listenerContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
            
    <property name="connectionFactory" ref="jmsConnectionFactory"/>
            
    <property name="destination" ref="destination"/>
            
    <property name="messageListener" ref="messageListener"/>
        
    </bean>
    </beans>



    POM文件相關(guān)節(jié):

        <dependency>
          
    <groupId>org.springframework</groupId>
          
    <artifactId>spring</artifactId>
          
    <version>2.0.6</version>
        
    </dependency>

        
    <dependency>
          
    <groupId>org.apache.activemq</groupId>
          
    <artifactId>activemq-core</artifactId>
          
    <version>5.0-SNAPSHOT</version>
        
    </dependency>
          
        
    <dependency>
          
    <groupId>org.apache.xbean</groupId>
          
    <artifactId>xbean-spring</artifactId>
          
    <version>3.2</version>
        
    </dependency>     

    看下面日志,應(yīng)該啟動成功,netstat看也有連接和監(jiān)聽端口了,可以繼續(xù)往前走了:
    9266 INFO main  [org.apache.activemq.broker.BrokerService] - Using Persistence Adapter: MemoryPersistenceAdapter
    9282 INFO main  [org.apache.activemq.broker.BrokerService] - ActiveMQ 5.0-SNAPSHOT JMS Message Broker (localhost) is starting
    9282 INFO main  [org.apache.activemq.broker.BrokerService] - For help or more information please see: http://activemq.apache.org/
    2007-11-24 14:57:41 org.apache.cxf.service.factory.ReflectionServiceFactoryBean buildServiceFromClass
    信息: Creating Service {http://magic.nms.exchangebit.com/}NotifyServiceImplService from class com.exchangebit.nms.magic.NotifyServiceImpl
    2007-11-24 14:57:43 org.apache.cxf.service.factory.ReflectionServiceFactoryBean buildServiceFromClass
    信息: Creating Service {http://nodesvc.magic.nms.exchangebit.com/}NodeSvcImplService from class com.exchangebit.nms.magic.nodesvc.NodeSvcImpl
    9813 INFO main  [org.apache.activemq.transport.TransportServerThreadSupport] - Listening for connections at: tcp://hehe:6116
    9829 INFO main  [org.apache.activemq.broker.TransportConnector] - Connector tcp://localhost:6116 Started
    9844 INFO main  [org.apache.activemq.broker.BrokerService] - ActiveMQ JMS Message Broker (localhost, ID:hehe-1857-1195887464218-0:0) started
    posted on 2007-11-24 15:29 我愛佳娃 閱讀(4037) 評論(0)  編輯  收藏 所屬分類: ActiveMQ

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 内射少妇36P亚洲区| 国产1000部成人免费视频| 亚洲jjzzjjzz在线观看| 亚洲热线99精品视频| 日本黄页网站免费| 免费福利在线播放| 精品国产一区二区三区免费| 日韩毛片在线免费观看| 亚洲精品久久久久无码AV片软件| 337p日本欧洲亚洲大胆色噜噜| 亚洲综合国产一区二区三区 | 亚洲Av永久无码精品三区在线 | 久久亚洲AV无码精品色午夜| 亚洲无人区一区二区三区| 免费中文字幕在线| 日本免费人成视频播放| 无码人妻一区二区三区免费 | 亚洲午夜未满十八勿入| 亚洲人成网亚洲欧洲无码久久| 免费国产精品视频| 国产嫩草影院精品免费网址| 在线精品免费视频无码的| 青娱乐免费在线视频| 成人免费在线看片| 久草免费在线观看视频| 99re6免费视频| 精品一区二区三区免费毛片爱| 久艹视频在线免费观看| 国产一区二区免费视频| 免费黄色电影在线观看| 永久免费av无码入口国语片| 国产一级在线免费观看| a毛片久久免费观看| 中文字幕无码毛片免费看| 两个人看的www免费| 久久精品成人免费观看| 精品一区二区三区无码免费视频| 最近2019年免费中文字幕高清| 99re免费99re在线视频手机版| 99re视频精品全部免费| 91网站免费观看|