Classes de module d'écoute personnalisé
Une classe de module d'écoute personnalisé est une classe qui implémente l'interface LogListener. Consultez les étapes pour implémenter une classe de module d'écoute personnalisé.
Cette classe peut implémenter l'interface LogListener de façon explicite et fournir des implémentations pour toutes les méthodes LogListener. La classe du module d'écoute personnalisé peut également étendre la classe LogAdaptor. Dans la mesure où cette dernière contient des implémentations par défaut de toutes les méthodes LogListener, il suffit que les sous-classes LogAdaptor implémentent les méthodes LogListener dignes d'intérêt. Pour implémenter une classe de module d'écoute personnalisé, procédez comme suit :
- Implémentez une classe qui étend
com.ibm.wcp.analysis.event.LogAdaptor. Remplacez les méthodes handleEvent qui acceptent le type d'événement digne d'intérêt. Vous pouvez également fournir une implémentation pour startHandlingEvents et stopHandlingEvents si votre module d'écoute doit respectivement effectuer une initialisation ou un nettoyage. - Installez le fichier de classe pour votre module d'écoute personnalisé dans le chemin de classe du serveur sur lequel le module d'exécution Personalization est installé.
- Ajoutez le nom de classe à la propriété logListeners dans le fichier FeedbackService.properties qui se trouve dans le répertoire wp_profile_root/PortalServer/config/config/services.
- Redémarrez le serveur d'exécution Personalization.
Il est à noter que les classes des modules d'écoute personnalisés (autres que les modules d'écoute de commentaires personnalisés) sont systématiquement activées lorsque l'application d'entreprise d'exécution Personalization fonctionne.
L'exemple ci-dessous illustre l'implémentation d'une classe de module d'écoute personnalisé. Le module d'écoute de cet exemple génère une alerte chaque fois que l'action "MegaPurchase" est consignée.
import com.ibm.wcp.analysis.event.*;
public class SimpleCustomListener extends LogAdapter
{
/**
* Method to handle action events.
*/
public void handleEvent( ActionEvent event )
{
if (event.getActionName().equals( "MegaPurchase" ))
generateAlert();
}
/**
* Method to generate an alert.
*/
private void generateAlert( )
{
// Your custom code for generating an alert can go here.
System.out.println( "We have a big purchase!" );
}
}