资源引用支持应用程序使用逻辑名而不是运行时环境中的实际名称来访问资源(例如数据源、URL 或邮件提供程序)。此功能使您不必在更改资源运行时配置时改变应用程序代码。
开始之前
本主题指导您更新先前组装的企业应用程序的资源引用。“组装应用程序”主题对组装过程作了详细描述。
关于此任务
资源引用由应用程序提供商在部署描述符中声明。在应用程序部署过程中的某个时刻,必须将资源引用与运行时环境中的资源的实际名称绑定。
当在应用程序服务器中创建连接工厂或数据源时,组件可使用该应用程序服务器提供的 JNDI 名称来访问该链接工厂或数据源。该应用程序服务器使用以 java:comp/env 为前缀的间接名称。例如:
- 创建数据源时,缺省 JNDI 名称将设置为 data_source_name。
- 当您创建连接工厂时,缺省名称为 j2c_connection_factory_name。
如果通过指定自己的名称来覆盖这些值,请保留 java:comp/env 前缀。间接 JNDI 名称允许连接管理基础结构访问来自与应用程序相关联的资源引用中的任何数据。这使您可以根据认证、隔离级别、共享范围和解析控制设置来更好地管理资源。
本主题描述如何使用组装工具来更新企业应用程序的资源引用。定义了资源引用之后,您就可以使用 java:comp/env 上下文来执行间接 JNDI 查询。
过程
- 启动组装工具。
- 如果您还未完成,那么配置组装工具来处理 Java Platform Enterprise Edition (Java EE) 模块。
- 导入要更改为 EJB 项目的企业应用程序(EAR 文件)。
- 显示该类型的模块的资源引用:
- 如果企业 Bean 使用资源引用:
- 展开 EAR 文件的名称。
- 展开 EJB 模块。
- 展开需要的 EJB 模块。
- 展开企业 Bean(会话 Bean 或实体 Bean)的相应类型部分。
- 展开企业 Bean。
- 如果 Servlet 使用资源引用:
- 展开 EAR 文件的名称。
- 展开 Web 模块。
- 展开需要的 Web 模块。
- 如果应用程序客户机使用资源引用:
- 展开 EAR 文件的名称。
- 展开应用程序客户机。
- 展开需要的应用程序客户机模块。
- 右键单击您要更改其资源引用的模块,然后单击打开方式 > 部署描述符编辑器。
- 对于 Servlet 和应用程序客户机,单击添加。对于 EJB 模块,选择特定 Bean,然后单击添加。
- 选择资源引用选项,然后单击下一步。
- 指定资源引用设置,然后单击完成。
- 可选: 选择引用选项卡,并且在 WebSphere 扩展下选择一个隔离级别。 如果您选择先进行此步骤,那么隔离级别缺省为 TRANSACTION_NONE。
- 可选: 在 WebSphere 绑定下,指定一个 JNDI 名称。 如果您选择先进行此步骤,在在部署应用程序时,您可以设置(或覆盖)绑定。
- 关闭部署描述符编辑器,并保存您的更改。
结果
在“项目资源管理器”视图中显示了更新的模块的文件。
下一步做什么
在“项目资源管理器”视图中验证更新的企业应用程序的内容。然后,部署企业应用程序。
可以通过一个步骤生成 EJB 部署代码并将 EJB 模块部署到目标服务器。在“项目资源管理器”视图中,右键单击 EJB 项目然后单击部署。另请参阅主题“部署 EJB 模块”。