3

我目前正在为带有 WebSphere-MQSeries 的 WebSphere AS 7 开发一个小型 EJB 3 应用程序。这是一个非常简单的应用程序,主要由一个 MDB 侦听队列、转换传入消息并将提取的数据写入数据库。我终于启动并运行了它,但我对代码中的 ActivationConfig 注释、ibm-ejb-jar-bnd.xml 和 WAS 本身中的激活规范有点困惑。我的主要问题是,为什么我需要所有这些?当我仍然需要 WAS 中的激活规范时,为什么我应该/可以通过注释 (@ActivationConfigProperty) 指定诸如队列名称或目标类型之类的内容,其中我还指定了目标,例如 队列名称?另外,我还需要通过 xml 文件进行绑定吗?那正确吗?是否也可以通过注释指定激活规范名称,从而摆脱 xml 绑定文件?我可以避免在 WAS 中创建激活规范吗?

希望有人能澄清一下,谢谢。

4

1 回答 1

2

您无法避免 Activation Spec 实体,因为它负责打开与您的 JMS 提供者的连接,根据消息选择器过滤器等各种选项查询消息。

根据WebSphere 7 InfoCenter EJB-3 注释可以替换绑定文件中的激活规范属性,但 WebSphere 所需的属性不是标准的。

据我所知,您必须提供:

  • 绑定文件,手动编写或使用部署工具编辑

  • 在管理控制台的部署设置属性或自动化 jython/wsadmin 脚本中

请注意,激活规范是一个可以停止的运行时组件,通常在消息回滚之后。在这种情况下,它不再使用消息,并且您的 MDB 没有任何东西要处理,直到您从 WebSphere 控制台重新激活它。

于 2011-08-26T13:01:45.123 回答