Utilisez l'interface SPI de z/OS® Connect pour créer un intercepteur preInvoke et des implémentations postInvoke gérant des demandes de service, telles que l'appel de services, l'interrogation de leur statut, leur démarrage ou arrêt. Les intercepteurs sont des services OSGi qui implémentent l'interface SPI com.ibm.wsspi.zos.connect.Interceptor fournie par z/OS Connect.
Pourquoi et quand exécuter cette tâche
z/OS Connect inclut plusieurs intercepteurs. L'intercepteur com.ibm.wsspi.zos.connect.Authorization fournit des vérifications d'autorisation z/OS SAF et LDAP pour des opérations z/OS Connect telles que démarrage, arrêt et appel de service. L'implémentation com.ibm.wsspi.zos.connect.Audit consigne
l'enregistrement z/OS SMF des données de demande sur des opérations z/OS Connect.
Les intercepteurs peuvent servir à exécuter certaines actions avant et après un
appel de demande. Une copie du contenu ainsi que d'autres données de la demande sont fournies pour les intercepteurs.
Un intercepteur implémenté pour z/OS Connect est un service OSGi qui se connecte et
interagit avec z/OS Connect via l'infrastructure OSGi.
Procédure
- Créez un service OSGi implémentant l'interface SPI com.ibm.wsspi.zos.connect.Interceptor de z/OS Connect.
- Pour intégrer la nouvelle implémentation de la SPI Interceptor avec z/OS Connect, ajoutez
ibm:objectClass="com.ibm.ws.zos.connect.interceptorType" à la définition de l'élément de configuration
de l'intercepteur, dans le métatype associé. La définition d'attribut va sous l'élément de configuration
du nouvel intercepteur, dans le métatype associé.
<OCD id="custom.banking.interceptor" ibm:alias="bankingInterceptor" name="bankingInterceptor" description="Banking Interceptor" ibm:objectClass="com.ibm.ws.zos.connect.interceptorType">
...
</OCD>
Si l'implémentation de la SPI Interceptor z/OS Connect est développée pour fonctionner sur
WebSphere Application
Server version 8.5.5.9 ou antérieure, ajoutez la définition d'attribut suivante à la place :
<AD
id="com.ibm.ws.zos.connect.interceptorType" required="false"
type="String"ibm:final="true"name="internal"description="internal use only"/>. La définition d'attribut va sous l'élément de configuration
du nouvel intercepteur, dans le métatype associé.
<OCD id="custom.banking.interceptor" ibm:alias="bankingInterceptor" name="bankingInterceptor" description="Banking Interceptor">
<AD id="com.ibm.ws.zos.connect.interceptorType" required="false" type="String"ibm:final="true"name="internal"description="internal use only"/>
...
</OCD>
L'attribut ibm:final indique que la valeur ne peut pas être spécifiée dans la configuration et l'attribut name="internal" indique que les outils n'affichent pas cette propriété.
La documentation d'API Java pour chaque interface SPI Liberty est disponible dans un fichier .zip séparé dans l'un des sous-répertoires
javadoc du répertoire ${wlp.install.dir}/dev.
Pour plus d'informations, reportez-vous à la documentation sur l'extension de Liberty.
Remarque : La documentation d'API Java pour chaque SPI Liberty est détaillée dans la section
Interfaces de programmation (Javadoc) de la documentation, et est également disponible dans un fichier .zip séparé sous l'un des sous-répertoires
javadoc du répertoire ${wlp.install.dir}/dev.