<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女人18毛片水真多| 亚洲视频在线观看一区| 亚洲午夜福利在线视频| 黄网站色在线视频免费观看| 日韩精品一区二区亚洲AV观看| 久久久99精品免费观看| 亚洲第一视频网站| 精品熟女少妇av免费久久| 亚洲一区二区三区夜色| av大片在线无码免费| 亚洲色图激情文学| 日韩免费视频播播| 特级毛片A级毛片免费播放| 国产亚洲成人久久| 秋霞人成在线观看免费视频| 亚洲成AV人片天堂网无码| 24小时免费看片| 欧洲 亚洲 国产图片综合| 国产福利免费观看| 久久精品无码免费不卡| 亚洲今日精彩视频| 国产又黄又爽又猛免费app| 久久久久亚洲AV无码去区首| 亚洲国产综合人成综合网站| 青青操视频在线免费观看| 亚洲欧洲日韩在线电影| 免费看美女被靠到爽的视频| 污污视频网站免费观看| 久久亚洲国产午夜精品理论片| 亚洲成人在线免费观看| 色偷偷亚洲第一综合网| 亚洲爆乳无码一区二区三区| 国产大片91精品免费观看不卡| 亚洲乱码无人区卡1卡2卡3| 日日噜噜噜噜夜夜爽亚洲精品| 亚洲视频免费在线观看| 亚洲av无码专区亚洲av不卡| 曰韩亚洲av人人夜夜澡人人爽| 免费黄色网址网站| 永久免费无码网站在线观看个| 91亚洲国产成人久久精品网站|