我目前正在使用WebSphere-MQSeries为WebSphere AS 7开发一个小型EJB 3应用程序。这是一个非常简单的应用程序,主要由一个MDB监听队列,转换传入的消息并将提取的数据写入db。我终于起床并运行了,但我对代码中的ActivationConfig注释,ibm-ejb-jar-bnd.xml以及WAS本身的激活规范感到有些困惑。我的主要问题是,为什么我需要所有这些?当我还需要WAS中的激活规范时,为什么/我可以通过注释(@ActivationConfigProperty)指定队列名称或目标类型等内容,我还指定了目标,例如队列名称?我还需要通过xml文件进行绑定吗?是对的吗?是否也可以通过注释指定activationspec-name,从而摆脱xml绑定文件?我可以避免在WAS中创建激活规范吗?
希望有人能澄清事情,谢谢。
答案 0 :(得分:2)
您无法避免激活规范实体,因为它负责打开与JMS提供程序的连接,根据消息选择器筛选器等各种选项查询消息。
根据WebSphere 7 InfoCenter EJB-3注释可以从绑定文件中替换激活规范属性,但WebSphere所需的属性不是标准的。
据我所知,你必须提供:
绑定文件,手动编写或使用部署工具编辑
在管理控制台中的部署设置属性或自动jython / wsadmin脚本中
请注意,激活规范是可以停止的运行时组件,通常是在对邮件进行一些回滚之后。在这种情况下,它不再消耗消息,并且在从WebSphere控制台重新激活它之前,MDB无需处理任何内容。