使用优化本地适配器从 Liberty 应用程序连接至外部地址空间中的应用程序

使用 WebSphere® 优化本地适配器 (WOLA) API 从部署在 Liberty 服务器上的应用程序连接至外部地址空间中的应用程序。

开始之前

向 WOLA 组注册外部地址空间。有关更多信息,请参阅使用优化本地适配器向本地 Liberty 服务器注册外部地址空间

通过调用“接收任何请求”API、“接收特定请求”API 或者“主机服务”API,将外部地址空间中的应用程序设置为优化本地适配器服务器任务。有关更多信息,请参阅Liberty for z/OS 上的优化本地适配器 API

过程

  1. 启用 Liberty 应用程序,以使用资源注入或 JNDI 查找来访问连接工厂。

    以下示例使用 Enterprise JavaBeans (EJB) 应用程序。您可以在 Web 应用程序或 Servlet 中使用相同的代码。

    • 对于资源注入,请使用 @Resource 注释来引用您在 server.xml 文件中定义的连接工厂。以下示例将引用 eis/ola 连接工厂:
      @Resource(lookup = "eis/ola",
                          authenticationType = Resource.AuthenticationType.APPLICATION,
                          shareable = false)
          private ConnectionFactory cf;
    • 对于 JNDI 查询,在您稍后要在企业 Bean 中查询的应用程序中创建资源引用。
      1. 在该应用程序的 META-INF/ibm-ejb-jar-bnd.xml 文件中创建资源引用,其中 binding-nameserver.xml 文件中的连接工厂的 JNDI 名称相匹配。
        <session name="HSCBC016Bean">
            <resource-ref name="eis/ola" binding-name="eis/ola"/>
        		</session>
      2. 在 EJB 实现中,创建将查询您定义的资源引用的连接工厂对象。将 java:comp/env/ 作为资源引用的名称的前缀,如以下示例中所示:
        Context ctx = new InitialContext();
        ConnectionFactory cf = ctx.lookup("java:comp/env/eis/ola");
  2. 通过创建 ConnectionSpecImpl 对象来创建连接规范。采用下列任一方式来提供您想要连接至的外部地址空间的注册名称:
    • 将注册名称作为连接工厂上的属性来添加
    • 使用注册名称调用 ConnectionSpecImpl 方法 setRegisterName
    以下示例将创建 ConnectionSpecImpl 对象,并提供 MyRES1 注册名称:
    ConnectionSpecImpl csi = new ConnectionSpecImpl();
    csi.setRegisterName ("MyRES1");
  3. 使用连接工厂创建连接,如以下示例中所示:
    Connection con = cf.getConnection(csi);

结果

Liberty 应用程序已连接至外部地址空间,并且可以调用外部地址空间上托管的服务。有关更多信息,请参阅使用 Liberty 优化本地适配器 API 在外部地址空间中调用服务

用于指示主题类型的图标 任务主题

文件名:twlp_dat_connect2wlpapp.html