本主题说明一些特殊的情况,在这些情况下,您可能需要在未包含处于运行状态的服务器的集群中安装应用程序。
在服务器上安装业务流程应用程序期间,必须能够解析相应业务流程容器的数据源的
Java 命名和目录接口(JNDI)名称。因此,如果没有服务器连接,就无法安装应用程序。在 Network Deployment(ND)环境中,此服务器是 Deployment Manager。
适用的限制
如果要在 ND 环境的集群中安装业务流程应用程序,当下列条件成立时,在该集群中不需要有处于运行状态的服务器:
- 在单元级别定义了所需的数据源。
- 该流程应用程序未指定人员任务。
对于未包含人员任务的流程应用程序来说,如果先前在应用程序服务器名称空间中执行的查询操作失败,就会在
Deployment Manager 的名称空间中完成数据源查询操作。如果成功地安装了该应用程序,则可以忽略
SystemOut.log 文件中任何指示应用程序服务器名称空间中的数据源查询操作失败的错误消息。
何时有效
- 仅当在单元级别定义了数据源 JNDI 名称时,Deployment Manager 名称空间中的查询操作才会成功。
- 如果使用向导来在独立服务器上配置业务流程容器或人员任务容器,则数据源是在服务器级别定义的。如果使用应用程序服务器安装的
ProcessChoreographer/sample 目录中提供的配置脚本
bpeconfig.jacl,情况亦如此。在这种情况下,必须在单元级别手工定义数据源,然后在安装业务流程容器时使用此数据源。
- 如果使用向导来在集群成员上配置业务流程容器,就会自动地在单元级别定义数据源。JNDI
名称的作用域由集群名限定。如果使用应用程序服务器安装的
ProcessChoreographer/sample 目录中提供的配置脚本
bpeconfig.jacl,情况亦如此。在这种情况下,不需要手工更改任何内容。
何时无效
包含人员任务的流程应用程序要求执行附加的 JNDI 名称查询操作来查找人员插件提供者。因此,为了帮助确保成功地安装此类应用程序,请确保集群包含处于运行状态的服务器。
作用域限定副作用
名称查询的副作用是,如果应用程序服务器未处于运行状态,并且在它的服务器或节点级别定义了与单元级别的数据源同名的数据源,则将优先使用单元级别的数据源。这意味着部署期间与运行时期间将使用不同的数据源。
注意: 请避免名称冲突。如果在单元级别手工定义数据源,请使用由集群名或者服务器名和节点名限定了作用域的 JNDI 名称,例如
jdbc/BPEDB_。