您可以为符合 Java™ EE 连接器体系结构 (JCA) 1.5 的企业应用程序配置消息驱动的 bean 部署属性,以覆盖在应用程序 EAR 文件中定义的部署属性。
开始之前
本任务假定您有一个可以部署在 WebSphere® Application Server 中的
EAR 文件,此文件包含作为消息驱动的 Bean 开发的企业应用程序。
注: 可以继续
针对侦听器端口配置消息驱动的 bean。
您可能需要进行此操作,以便与现有消息驱动的 Bean 应用程序相兼容。但是,侦听器端口已固定,并且您应该计划迁移所有消息驱动的 Bean 以使用符合 JCA 1.5 或者符合 JCA 1.6 的资源。
关于此任务
可以通过使用组装工具来配置消息驱动 bean 应用程序的部署属性。此任务中给出的详细步骤是用于 Rational® Application
Developer 的,但是其他工具也具有非常类似的步骤。
过程
- 启动组装工具。
- 编辑应用程序 EAR 文件。 例如,使用 Rational Application Developer 导入向导将 EAR 文件导入组合工具。要启动“导入”向导,请执行下列操作:
- 单击。
- 单击下一步,然后选择 EAR 文件。
- 单击完成。
- 打开要编辑的部署属性。 在“Java EE 层次结构”视图中,右键单击消息驱动的 Bean 的 EJB 模块,然后单击。 在属性窗格中显示消息驱动的 Bean 的属性对话笔记本。
- 查看以及更改部署属性(如果需要)。
- 在属性窗格中,选择 Bean 选项卡。
- 在激活配置下,查看属性。
注: 对于 EJB 3 消息驱动的 Bean,您可以改为使用 EJB 3 注释来配置激活配置属性。不要使用 EJB 3 注释来更改或替换在 bean 部署描述符中指定的内容。如果在两个场所中都指定了激活配置属性,那么使用的值是在部署描述符中提供的值。
- acknowledgeMode
- 此属性确定会话如何确认其接收的任何消息。
- 自动确认
- 会话自动地确认每个消息的交付。
- 重复确定确认
- 会话惰性地确认消息的交付。如果 JMS 失败,此设置可能导致传递一些重复消息,因此只有可接受重复消息的用户应用程序才应该使用。
- destinationType
- 此属性确定消息驱动的 Bean 是使用队列还是主题目标。
- 队列
- 消息驱动的 Bean 使用队列目标。
- 主题
- 消息驱动的 Bean 使用主题目标。
- subscriptionDurability
- 此属性确定 JMS 主题预订是持久的还是非持久的。
- 持久
- 订户用 JMS 保留的唯一标识注册持久预订。用同一标识的后续订户对象以先前订户保留的状态继续预订。如果持久预订没有活动订户,那么 JMS 会保留预订的消息,直到预订接收到他们或者他们到期。
- 非持久
- 非持久预订维持的时间是其订户对象的生存期。这意味着仅当客户机订户活动时,客户机才能看到在主题中发布的消息。如果订户不活动,客户机会错过其主题上发布的消息。
非持久订户只能在创建该订户时存在的同一事务上下文(例如,全局事务或非指定的事务上下文)中使用。
- messageSelector
- 此属性确定 JMS 消息选择器,该消息选择器用于选择消息驱动的 Bean 接收哪些消息。 例如:
JMSType='car' AND color='blue' AND weight>2500
选择器字符串可引用 JMS 消息头中的字段和消息属性中的字段。消息选择器不能引用消息主体值。
- 指定绑定部署属性。
在 WebSphere 绑定下,选择 JCA 适配器选项,然后指定绑定部署属性:
- 激活规范 JNDI 名称
- 此属性指定激活规范的 JNDI 名称,该激活规范用于部署此消息驱动的 Bean。此名称必须与您为 WebSphere Application Server 定义的激活规范的名称相匹配。
- 激活规范权限别名
- 此属性指定用于认证到 JCA 资源适配器的连接的认证别名名称。认证别名指定用于认证创建到 JCA 资源适配器的新连接的用户标识和密码。
- 目标 JNDI 名称
- 此属性指定消息驱动的 Bean 用于在 JNDI 名称空间中查找 JMS 目标的 JNDI 名称。
- 保存对部署描述符的更改:
- 关闭部署描述符编辑器。
- 提示时,单击是以表明您要保存对部署描述符的更改。
- 验证归档文件。
- 在项目的弹出菜单中,单击部署以生成 EJB 部署代码。
- 可选: 在 WebSphere Application Server 安装版本中测试已完成的模块。
右键单击模块,单击在服务器上运行,然后按照显示的向导中的指示信息进行操作。
限制: 在服务器上运行仅适用于 Windows、Linux/Intel 和 AIX® 操作系统。无法以远程方式部署到 UNIX 操作系统(如 Solaris)上的 WebSphere Application Server 安装版本。
要点: 仅将在服务器上运行用于单元测试。远程发布应用程序时,组装工具将覆盖该服务器的服务器配置文件。不要使用生产服务器。
下一步做什么
组装应用程序之后,请使用系统管理工具将 EAR 文件部署到要运行该应用程序的应用程序服务器;例如,如部署和管理应用程序中所述,使用管理控制台。