<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

    事情開始想的簡單,可開始做發現沒那么容易。

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

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

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

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

    暈!可還是報這個錯,我想最新版應該沒事吧,又找來MQ的5.0 SNAPSHOT版,還是一樣,最后我把SPRING的LOG4J級別設成DEBUG,發現是報找不到XBEAN的解析HANDLER:

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


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


    <?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文件相關節:

        <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>     

    看下面日志,應該啟動成功,netstat看也有連接和監聽端口了,可以繼續往前走了:
    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

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲人成伊人成综合网久久久| 亚洲理论片在线中文字幕| 国产免费一级高清淫曰本片| 国产AV无码专区亚洲AVJULIA| 91精品成人免费国产片| 羞羞网站在线免费观看| 亚洲va久久久噜噜噜久久 | 成人A毛片免费观看网站| 久久精品亚洲一区二区三区浴池| 日本人护士免费xxxx视频| a视频免费在线观看| 亚洲欧洲国产综合AV无码久久| 亚洲国产综合精品中文字幕| 18禁无遮挡无码国产免费网站| 国产AV无码专区亚洲AV蜜芽 | 污污网站免费观看| 亚洲高清一区二区三区电影| 亚洲AV无码专区国产乱码电影| 免费看www视频| 91香蕉国产线观看免费全集| 国产精品久久久久久亚洲影视 | 免费人成在线观看播放a| 久久亚洲国产精品成人AV秋霞| 国产免费黄色大片| 国产精品视频免费| 野花香在线视频免费观看大全| 欧美亚洲国产SUV| 亚洲最新黄色网址| 久久精品九九亚洲精品天堂| 国产一级一片免费播放i| 在线看免费观看AV深夜影院| 在线免费观看h片| 国产亚洲女在线线精品| 国产成人精品日本亚洲网址| 日韩va亚洲va欧洲va国产| 亚洲精品老司机在线观看| 日本一区二区三区日本免费| 成人免费福利视频| 99久久国产免费中文无字幕| a级黄色毛片免费播放视频| 人成电影网在线观看免费|