为定制作业实现 Java 类

定制作业是用户定义的作业,用于执行功能。 它作为 Java™ 类实现,可以手动执行,也可以按调度执行。

定制作业必须部署到每个 OpenPages® 应用程序服务器,并在启动期间动态装入。

要实施定制作业,请完成以下任务:
  • 通过扩展以下抽象实现来创建定制作业 Java 类:
    com.ibm.openpages.api.scheduler.AbstractScheduledProcess
  • 将类添加到 JAR 文件。 将 JAR 文件用于所有定制代码。 将 JAR 文件部署到 <OP_HOME>/aurora/op-ext-lib 目录中的每个 OpenPages 应用程序服务器。
  • 重新启动 OpenPages 应用程序服务器,以便动态类装入器可以选取定制作业。
  • 使用 调度程序 来添加使用 Java 类的定制作业。 设置定制作业需要作为输入的任何属性值或字段。 有关更多信息,请参阅 定义定制作业

向定制作业提供配置信息

要使定制作业有用,它可能需要配置信息。 例如,如果需要连接到其他服务,那么可能需要知道 API 密钥。 这些值在 调度程序 中定义为定制作业中的配置项,并在运行时传递到定制作业中。

配置项是您定义的字符串 "名称/值" 对。

定制作业需要验证其期望传入的属性是否已传入以及它们是否具有有效值。

编写定制作业 Java 类

定制作业 Java 类的唯一要求是它扩展 com.ibm.openpages.api.scheduler.AbstractScheduledProcess。 在 调度程序中定义定制作业时,将验证此需求。

为定制作业提供名称。 在作业的构造函数中,调用 setName()。 例如,此代码将创建名为 My Custom Job的定制作业:
public class CustomJob extends AbstractScheduledProcess {
    public CustomJob() {
        super(ProcessConstants.TYPE_GENERAL);
        setName("My Custom Job");
    }
必须在派生的 Java 类中实现来自 AbstractScheduledProcess execute 的单个抽象 API。 在此方法中,您可以编写定制作业所执行的功能。
void execute(){
//add your custom code here
}

要访问作业的配置值,请调用:

this.jobDetail.getJobConfiguration();

有关可在定制操作中使用的 IBM OpenPages GRC Java API的更多信息,请参阅 IBM OpenPages GRC Java API

可以从定制作业抛出异常或验证消息,并向用户显示这些消息。 要显示消息,请使用:

throwException(String message, Throwable cause)

使用此方法可抛出异常并向用户显示定制消息。 未捕获的异常或显式抛出的异常由应用程序记录,但仅向用户显示一般错误消息。

设置作业的超时

平台 > 调度程序 > > 缺省事务超时 设置中定义了所有调度程序作业的缺省超时。 您可以覆盖定制作业的此超时设置。

要为定制作业设置超时,您需要定制作业名,该名称由该作业的构造函数中的 setName() 定义。 创建以下设置以定义超时: 平台 > 进程 > <Custom_job_name> > 事务超时

例如: 平台 > 进程 > 我的定制作业 > 事务超时