事情開始想的簡單,可開始做發(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的用戶論壇,門可羅雀,算了,轉攻MQ吧,別涂簡單了。好像工作量就是多寫一個消息到POJO的CONVERTER,也可以達到直接發(fā)POJO。
沒想到,這邊也不是很順,不斷報解析不到http://activemq.org/config/1.0的schemaLocation,我按照這里說的,自己寫了META-INF里的spring.schema,順便學了下,這個文件就是告訴SPRING到本地找XSD文件的。
暈!可還是報這個錯,我想最新版應該沒事吧,又找來MQ的5.0 SNAPSHOT版,還是一樣,最后我把SPRING的LOG4J級別設成DEBUG,發(fā)現(xiàn)是報找不到XBEAN的解析HANDLER:
<dependency>
<groupId>org.apache.xbean</groupId>
<artifactId>xbean-spring</artifactId>
<version>3.2</version>
</dependency>
趕緊加上,這次LOG走得遠點,可以還是報找不到SCHEMA,徹底暈死了!最后仔仔細細查配置文件,發(fā)現(xiàn)我從官網(wǎng)這里,拷貝的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,看出區(qū)別了吧?所以對應不上找不著,改了這里,就好了。把JMS配置及POM相關部分貼上來以明志,這才是開始呀!




























































POM文件相關節(jié):

















看下面日志,應該啟動成功,netstat看也有連接和監(jiān)聽端口了,可以繼續(xù)往前走了:










