浏览 3188 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-04-20
使用ActiveMQ,很难不知道有Jencks这个东西。我在之前只是简单的知道该JCA产品可以实现Message driven Pojo,但想想Spring也能做到的东西我为什么用另一套,看了Jencks的FAQ就清楚了: www.jencks.org/How+does+Jencks+compare+to+Springs+MDPs 偶翻译能力太差,大概了解但不知道要乍讲。看官们还是自个看看吧:P。 Jencks2.0版本的配置比1.X的配置来得清爽很多。 1.X版本的可参考Springside的Wiki (XSD版): http://www.jencks.org/How+does+Jencks+compare+to+Springs+MDPs 另外可以参考Javaeye另一位仁兄的尝试(Spring Bean版 ): jamsa.iteye.com/blog/post/168023 Jamsa的示例中只演示了Inboud 的情况,实际上Jencks是可以包括Inbound outbound的Message的。 我的目标是使用Jencks2.0实现MDP及对Outbound Message的管理,参考官方文档很快可以把配置做出来: www.jencks.org/Message+Driven+POJOs www.jencks.org/Outbound+JMS 贴一下我的配置文件全貌: xml 代码
还一件事你一定要知道。要不你会跟我一样抓狂上好几天。就是Jencks2.0的依赖包的问题。 找遍Jencks2.0下载回来的包,其实还是差两个很重要的包。那就是geronimo-transaction和geronimo-connector包。而Jencks官网对此没有提及,很郁闷。 我在寻找这两个包的过程中下编了geronimo的几个版本都没发现,然后到这里找到他们的1.1版本。运行时发现缺少类,该类是属于Transaction包内的类,分明包内没有此类:\org\apache\geronimo\transaction\manager\XAWork。Google一下,结果奇少。我想应该是包版本问题,而Maven的仓库只有1.2Beta版本的,我下来一看也没这个类,于是没有替换掉,继续使用1.1版。 后来找到这个类是Transatction包的2.0版本才有的,我赶紧SVN了Geronimo最新的源码回来,自己Build了个快照的版本。其实是两个: geronimo-connector-2.0-SNAPSHOT.jar geronimo-transaction-1.2-SNAPSHOT.jar 而后来发生的问题几乎要推翻我的Java信仰。运行时报的错是NoSuchMethodError,告诉我缺少一个方法。而分明那个类,那个方法是存在的。我很确定在我的类库里,这个类只存在一个版本。我实在没有办法了,我开始怀疑2.0的成熟性。但是还没有放弃最后的希望,我又SVN了一份Jencks的最新代码回来。用Maven跑一跑,所有测试都没问题。而这时发现它只是用了Transaction及Connector的1.2的包。我决定最后一博,把这两个包替换掉2.0的包。奇迹啊,哥们,终于久违的“Hello activeMQ”打印了出来。 至今我还没想明白怎么现在又不报缺XAWork?为什么存在的方法是被报不存在?不过最后终于跑起来了,很爽。 所以不要怪我上面那一番没章法的抱怨。这样的问题让我几近崩溃。我觉得我有必要把过程写出来与大家分享。让后来的朋友能快速地解决问题。 实际上,我在看MailList的时候看到过一封类似问题的邮件,我其实只要按方法用1.2换掉1.1的Connector和Trasaction就得了。但我死活认为非要找到XAWork的包才行。而最后解决的方法却是没必要找到XAWork的包。额滴神啊。我现在还想不明白为啥。望哪位看官能指点迷津! 最后附上我的Lib(这是最重要D): activeio-core-3.0.0-incubator.jar activemq-console-4.1.1.jar activemq-core-4.1.1.jar activemq-core-4.1.1-tests.jar activemq-jaas-4.1.1.jar activemq-ra-4.1.1.jar activemq-web-4.1.1.jar backport-util-concurrent-2.1.jar commons-logging-1.1.jar geronimo-connector-1.2-beta.jar geronimo-j2ee-connector_1.5_spec-1.0.1.jar geronimo-j2ee-management_1.0_spec-1.0.jar geronimo-jms_1.1_spec-1.0.jar geronimo-jta_1.0.1B_spec-1.0.1.jar geronimo-transaction-1.2-beta.jar jencks-2.0-all.jar jencks-amqpool-2.0.jar log4j-1.2.12.jar mx4j-2.1.1.jar spring-2.0.jar 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |