事情开始想的简单,可开始做发现没那么容易。 开始只是想能够找一个具有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.0的schemaLocation,我按照这里说的,自己写了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相关部分贴上来以明志,这才是开始呀!