前面写过一篇使用GenericRA在GlassFish上配置SonicMQ的文章。不过之后有发现有更简单的方法,因为GenericRA的官方网站上有明确的使用说明文档 http://genericjmsra.java.net/docs/sonic-mq-integration-guide/sonicmq_integration_guide.html。所以我对读过我之前文章的人们致以崇高的歉意,浪费了各位的时间;当然那个方案确实是可以工作的。
官方的文档,我就不用多说了,直接一步一步来就好,虽然我用的是Sonic6.1,也可以使用那个文档,没什么区别。不过有几点有必要列出来下。
1. 使用GenericRA配置的MQ(包括SonicMQ在内),其MDB需要用xml的配置,直接Annotation是不行的。这个我之前想当然以为可以,结果是必须用xml配置;文档上没有明确说明,但我的实验的确如此。
2. 貌似GlassFish3.1.1有bug, 我增加了几个Admin Object Resources (几个Queue), 但是总是只有一个能使用,其他的总提示 lookup不到,从Web Console上也看不到任何异常。 最后我打开domain.xml看了下 (这个文件在 domains/domain1/conf中),发现原来仅有第一个增加的queue是 enable的,其后增加的全部是 "disable=true", 让人疑惑的是这个在Web Console中看不出来,并且也没有办法修改。手动删掉了 “disable=true” 就好了,保存,然后重启 Glassfish就好了。
----------------------------------------------------------------------
张瑜,Mybeautiful, zhangyu0182@sina.com.