Interfaces de programación del sistema (SPI) del planificador de trabajos
Las SPI se utilizan para gestionar una lista de grupos a los que está asignado un usuario, para controlar las acciones del usuario en los trabajos, para suprimir la grabación de líneas de registro y para proporcionar una regla de validación de series de auditoría específicas de la instalación.
Archivo de propiedades de SPI
La clase SPI se puede añadir a $WAS_HOME/lib/classes o a la biblioteca compartida del planificador de trabajos. Utilice el script configCGSharedLib.py de wsadmin para asignar la biblioteca compartida al planificador de trabajos.
Archivo de propiedades | Atributo |
---|---|
Nombre | xd.spi.properties |
Ubicación | raíz_servidor_aplic/properties |
Formato | <nombre SPI>=<clase de implementación de SPI> |
SPI de filtrado de pertenencia a grupos
- Para modificar la lista de grupos devuelta por el repositorio federado
- Para actuar como alternativa al repositorio federado. En este caso, la SPI es el origen de la información sobre usuarios y pertenencia a grupos que utiliza proceso por lotes .
Se llama a la SPI cada vez que un usuario inicia la sesión en la consola de gestión de trabajos y cada vez se realiza una operación de trabajo.
Nombre |
---|
group.membership.manager |
SPI de filtrado de registros de trabajo
Utilice la SPI de filtro de registro de trabajo para suprimir la grabación de líneas de registro en los registros de las aplicaciones por lotes. Puede suprimir la grabación de las líneas de registro en los registros de servidor, los registros de trabajo o de ambos tipos de registros. También puede alterar temporalmente la línea de registro de aplicaciones.
Implemente la interfaz com.ibm.wsspi.batch.joblog.JobLogFilter implementando los métodos getName() y processJobLogLine(). El método getName() es necesario para todas las implementaciones de SPI. El método processJobLogLine() devuelve un objeto JobLogAction para suprimir la ubicación en la que se graba la línea del registro de trabajo. Puede alterar temporalmente la línea de registro de aplicaciones con el objeto JobLogFilterListener. Llame al objeto JobLogFilterListener con la línea de registro actualizada o sustituida y el ID de trabajo que se grabará en los archivos de registro basándose en el objeto JobLogAction suministrado.
Nombre |
---|
spi.job.log.filter |
Ejemplo de SPI de filtro de registro de trabajo
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 {
/**
* Entrada:
* jobid
* logline - línea acerca de la cual debe registrarse
* JobLogFilterListener - devolución de llamada para alterar temporalmente línea de registro
* Salida:
* JobLogAction:
* SUPPRESS - no registrar esta línea
* JOBLOGONLY - registrar sólo para registro de trabajo (no para registro de servidor)
* SERVERLOGONLY - registrar sólo para registro de servidor (no para registro de trabajo)
* JOBLOGSERVERLOG - registrar registro de trabajo y registro de servidor
* (esta la acción predeterminada)
*/
public JobLogAction processJobLogLine(
String jobid,
String logline,
JobLogFilterListener filterListener) {
filterListener.setLogLine(jobid, "MyCompanyName:" + logline);
return JobLogAction.JOBLOGONLY;
}
/**
* Obligatorio para todas las implementaciones de SPI de Batch
**/
public String getName() {
return SimpleCIJobLogFilter.class.getName();
}
}
El método processJobLogLine() devuelve un objeto JobLogAction para suprimir la grabación de líneas de registro de aplicación en los registros del sistema. La llamada al objeto de JobLogFilterListener hace que las líneas de registro de trabajo se añadan con un texto estándar.
spi.job.log.filter=com.ibm.websphere.ci.samples.SimpleCIJobLogFilter
Asegúrese de que la clase de implementación esté disponible para el servidor a través de una biblioteca compartida de nivel de servidor. SPI de autorización de operación de trabajo
La SPI de autorización de operación de trabajos proporciona a los administradores un mayor control sobre las acciones de usuario en los trabajos. Puede ejercer un control de acceso preciso sobre cada acción de usuario permitiendo o denegando la operación.
Invoque la SPI sólo después de aplicar la política de seguridad de trabajos configurada. La SPI sólo se invoca si el usuario está autorizado a realizar la operación. La SPI puede alterar temporalmente el sistema cuando éste permite la operación. Sin embargo, la SPI no puede alterar temporalmente el sistema cuando éste deniega la operación. Por tanto, JobOperationAuthorizer sólo sirve para limitar el rango de operaciones que un usuario está autorizado a realizar. La SPI no puede aumentar el rango de operaciones que un usuario está autorizado a realizar.
Nombre |
---|
job.operation.authorizer |
SPI de validación de series de auditoría
Puede utilizar la SPI de validación de series de auditoría para proporcionar una regla de validación de series de auditoría específica de una instalación. Puede utilizar la regla de validación para aplicar los requisitos de auditoría local y proporcionar mensajes de error personalizados para guiar al usuario a una operación de guardar satisfactoria.
Cuando el validador de series de auditoría se configura e instala, se ejecuta cada vez que se guarda un trabajo de repositorio mediante cualquiera de las interfaces disponibles, que incluyen la consola de gestión de trabajos, la interfaz de línea de mandatos o una API.
El validador de series de auditoría se ejecuta y se le pasa el nombre del trabajo de repositorio, el usuario actual, el xJCL, el valor de la serie de auditoría y un método AuditStringValidatorCallBack. A continuación, el validador de series de auditoría puede decidir si la serie de auditoría es válida o no. Si la serie de auditoría es válida, el validador de series de auditoría devuelve true. Si la serie de auditoría no es válida, el validador de series de auditoría devuelve false. Si el validador de series de auditoría devuelve false, puede proporcionar texto para un mensaje de error mediante el método AuditStringValidatorCallBack.
Nombre |
---|
audit.string.validator |