作业调度程序系统编程接口 (SPI)

使用 SPI 可管理要向其分配用户的组列表,控制针对作业的用户操作,禁止编写日志行以及提供特定于安装的审核字符串验证规则。

SPI 属性文件

可将 SPI 类添加到 $WAS_HOME/lib/classes 或作业调度程序共享库。使用 configCGSharedLib.py wsadmin 脚本可将共享库指定给作业调度程序。

表 1. 属性文件的属性. 该表列示了属性文件及其属性。
属性文件 属性
名称 xd.spi.properties
位置 app_server_root/properties
格式 <SPI name>=<SPI implementation class>

组成员资格过滤器 SPI

使用组成员资格过滤器系统编程接口 (SPI) 可管理要向其分配用户的组列表。可以通过两种方式来使用 SPI:
  • 修改联合存储库返回的组列表
  • 充当联合存储库的替代方法。在这种情况下,SPI 是 批处理 所使用的用户和组成员资格信息的源。

每当用户登录作业管理控制台时以及每当执行作业操作时,都将调用 SPI。

表 2. SPI 名称. 下表列示了 SPI 的名称。
名称
group.membership.manager

作业日志过滤器 SPI

使用作业日志过滤器 SPI 可禁止将日志行从批处理应用程序写入日志。 您可以禁止将日志行写入服务器日志、作业日志,也可以同时禁止写入这两种类型的日志。还可以覆盖应用程序日志行。

通过实现 getName() 方法和 processJobLogLine() 方法来实现 com.ibm.wsspi.batch.joblog.JobLogFilter 接口。所有 SPI 实现都需要 getName() 方法。processJobLogLine() 方法会返回 JobLogAction 对象以禁止在其中写入作业日志行的位置。可以将应用程序日志行覆盖为 JobLogFilterListener 对象。调用 JobLogFilterListener 对象以及已更新或替换的日志行和作业标识,该日志行和作业标识将写入基于所提供的 JobLogAction 对象的日志文件。

表 3. SPI 名称. 下表列示了 SPI 的名称。
名称
spi.job.log.filter

作业日志过滤器 SPI 示例

package com.ibm.websphere.samples;
import com.ibm.websphere.grid.spi.SPI;
import com.ibm.wsspi.batch.joblog.JobLogFilter;
import com.ibm.wsspi.batch.joblog.JobLogFilterListener;
public class SampleJobLogFilter extends SPI implements JobLogFilter {
/**
* Input:
* jobid
* logline - line about to be logged
* JobLogFilterListener - call back to override logline
* Output:
* JobLogAction:
* SUPPRESS - do not log this line
* JOBLOGONLY - log only to job log (not server log)
* SERVERLOGONLY - log only to server log (not job log)
* JOBLOGSERVERLOG - log to both job log and server log
*(this is the default action)
*/
public JobLogAction processJobLogLine(
String jobid,
String logline,
JobLogFilterListener filterListener) {
filterListener.setLogLine(jobid, "MyCompanyName:" + logline);
return JobLogAction.JOBLOGONLY;
}
/**
* Required for all Batch SPI implementations
**/
public String getName() {
return SimpleCIJobLogFilter.class.getName();
}
}

processJobLogLine() 方法会返回 JobLogAction 对象以禁止将应用程序日志行写入系统日志。对 JobLogFilterListener 对象的调用将向作业日志行附加标准文本。

请通过在 app_server_root/properties/xd.spi.properties 文件中包括此实现类的引用来确保服务器装入此作业日志过滤器 SPI:
spi.job.log.filter=com.ibm.websphere.ci.samples.SimpleCIJobLogFilter
请通过服务器级别共享库来确保该实现类可供服务器使用。

作业操作授权 SPI

作业操作授权 SPI 允许管理员进一步控制用户可对作业采取的操作。您可以通过允许或拒绝操作对每一个用户操作运用细颗粒度访问控制。

请只在应用已配置的作业安全策略之后调用该 SPI。 只有当授权用户执行操作时,才调用该 SPI。当系统允许执行操作时,SPI 可以覆盖系统。但是,当系统拒绝操作时,SPI 不能覆盖系统。因此,JobOperationAuthorizer 仅用于限制授权用户执行的操作范围。 SPI 不能扩大授权用户执行的操作范围。

表 4. SPI 名称. 下表列示了 SPI 的名称。
名称
job.operation.authorizer

审核字符串验证 SPI

您可以使用审核字符串验证 SPI 来提供特定于安装的审核字符串验证规则。您可以使用验证规则来实施本地审核需求并提供定制错误消息,以指导用户成功保存。

配置并安装审核字符串验证程序后,每当通过任何可用的接口(包括作业管理控制台、命令行界面或 API)来保存存储库作业时,都将驱动该验证程序。

审核字符串验证程序将驱动并传递存储库作业的名称、当前用户、xJCL、审核字符串的值以及 AuditStringValidatorCallBack 方法。然后,审核字符串验证程序可以确定审核字符串是否有效。如果审核字符串有效,那么审核字符串验证程序返回 true。 如果审核字符串无效,那么审核字符串验证程序返回 false。 如果审核字符串验证程序返回 false,那么您可以通过 AuditStringValidatorCallBack 方法为错误消息提供文本。

表 5. SPI 名称. 下表列示了 SPI 的名称。
名称
audit.string.validator

指示主题类型的图标 参考主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rgrid_cgspi
文件名:rgrid_cgspi.html