Interface de programmation JRas pour la journalisation (obsolète)

La structure JRas décrite dans cette tâche et ses sous-tâches est obsolète. Toutefois, vous pouvez atteindre des résultats similaires à l'aide de la consignation Java™.

Généralités

Vous pouvez configurer WebSphere Application Server pour utiliser la sécurité Java 2 afin de restreindre l'accès aux ressources protégées telles que le système de fichiers et les sockets. Les extensions écrites par l'utilisateur, qui ont généralement accès à ces ressources, doivent contenir les appels de contrôle de sécurité appropriés, à l'aide d'appels AccessController doPrivileged. De plus, les extensions écrites par l'utilisateur doivent contenir le fichier de règles approprié. En général, la localisation des extensions écrites par l'utilisateur dans un module séparé est une bonne méthode. C'est à vous de restreindre de manière appropriée l'accès aux extensions écrites par l'utilisateur.

Ecriture d'un manipulateur

Les manipulateurs écrits par l'utilisateur doivent implémenter l'interface RASIHandler. L'interface RASIHandler est une extension de l'interface RASIMaskChangeGenerator qui, elle-même, est une extension de l'interface RASIObject. Les méthodes introduites par chacune de ces interfaces sont brièvement décrites ci-après de même que les pointeurs d'implémentation. Pour des informations plus détaillées sur une interfaces ou des méthodes particulières, reportez-vous à la documentation API relative au produit concerné.

Interface RASIObject

L'interface RASIObject est l'interface de base des classes du jeu d'outils de consignation JRas autonome avec état ou configurables, tels les consignateurs, les manipulateurs et les formateurs.
  • Le jeu d'outils de consignation JRas autonome supporte la configuration rudimentaire basée sur les fichiers de propriétés. Pour implémenter la prise en charge de cette configuration, l'état de configuration est stocké sous forme d'une série de paires clé-valeur dans un fichier de propriétés. Les méthodes public Hashtable getConfig et public void setConfig(Hashtable ht) sont utilisées pour obtenir et définir l'état de configuration. En général, les extensions JRas ne prennent pas en charge la configuration basée sur des propriétés. Implémentez ces méthodes en tant que non opérations. Vous pouvez implémenter votre propre configuration basée sur des propriétés à l'aide de ces méthodes.
  • Les consignateurs, manipulateurs et formateurs peuvent être des objets nommés. Par exemple, les extensions JRas nécessitent que l'utilisateur fournisse un nom pour les consignateurs extraits du gestionnaire. Vous pouvez nommer vos manipulateurs. Les méthodes String getName et public void setName(String name) permette d'extraire ou de définir la zone de nom. En général, les extensions JRas n'appellent pas ces méthodes sur les manipulateurs définit pas l'utilisateur. Vous pouvez implémenter ces méthodes à votre convenance, y compris en tant que non opérations.
  • Les consignateurs, manipulateurs et formateurs peuvent également contenir une zone de description. Les méthodes public String getDescription et public void setDescription(String desc) permettent d'extraire ou de définir la zone de description. En général, les extensions JRas n'utilisent pas la zone de description. Vous pouvez implémenter ces méthodes à votre convenance, y compris en tant que non opérations.
  • La méthode public String getGroup peut être utilisée par l'interface RASManager. Les extensions JRas fournissant leur propre classe Manager, cette méthode n'est jamais appelée. Implémentez ces méthodes en tant que non opérations.

Interface RASIMaskChangeGenerator

L'interface RASIMaskChangeGenerator est celle qui définit les méthodes d'implémentation du filtrage des événements d'après l'état d'un masque. Elle est donc généralement implémentée par les consignateurs comme les manipulateurs. Par définition, un objet qui implémente cette interface contient à la fois un masque de message et un masque de trace, même s'ils ne sont pas utilisés tous les deux. Par exemple, les consignateurs de message contiennent un masque de trace, qui n'est jamais utilisé car un consignateur de message ne génère jamais d'événements de trace. Les manipulateurs peuvent, en revanche, utiliser les deux types de masques. Un manipulateur peut, par exemple, gérer à la fois les événements de trace et de message.

  • Les méthodes public long getMessageMask et public void setMessageMask(long mask) permettent d'extraire ou de définir la valeur du masque de message. Les méthodes public long getTraceMask et public void setTraceMask(long mask) permettent d'extraire ou de définir la valeur du masque de trace.

De plus, cette interface introduit le concept de rappel des parties intéressées lorsque l'état d'un masque change. L'objet rappel doit implémenter l'interface RASIMaskChangeListener.

  • Les méthodes public void addMaskChangeListener(RASIMaskChangeListener listener) et public void removeMaskChangeListener(RASIMaskChangeListener listener) permettent d'ajouter ou de supprimer des modules d'écoute du manipulateur. La méthode public Enumeration getMaskChangeListeners renvoie une énumération dans la liste des modules d'écoute actuellement enregistrés. La méthode public void fireMaskChangedEvent(RASMaskChangeEvent mc) permet de rappeler tous les modules d'écoute enregistrés pour les informer d'une modification de masque.

Pour plus d'efficacité, les consignateurs de message et de trace des extensions JRas implémentent l'interface RASIMaskChangeListener. Les implémentations des consignateurs gèrent un masque composite en plus du masque du consignateur. Le masque composite du consignateur est formé par association logique avec l'opérateur or des masques appropriés de tous les manipulateurs enregistrés auprès de ce consignateur, puis association avec l'opérateur and du résultat obtenu au masque du consignateur. Par exemple, le masque composite du consignateur de message est formé par association avec l'opérateur or des masques de message de tous les manipulateurs enregistrés auprès de ce consignateur, puis association avec l'opérateur and du résultat obtenu au masque de message du consignateur.

Tous les manipulateurs sont requis pour implémenter correctement ces méthodes. En outre, lorsqu'un manipulateur d'utilisateur est instancié, le consignateur ajouté doit être enregistré auprès du manipulateur en utilisant la méthode addMaskChangeListener. Lorsque le masque de message ou le masque de trace du manipulateur change, le consignateur doit être rappelé pour être informé du changement de masque. Avec ce processus, le consignateur peut gérer dynamiquement le masque composite.

La classe RASMaskChangedEvent est définie par le jeu d'outils de développement de fonctions de consignation JRas autonome. Dans ce contexte, le code utilisateur peut utiliser directement cette classe.

De plus, l'interface RASIMaskChangeGenerator introduit le concept de mise en cache des noms de toutes les classes d'événement de message et de trace que l'objet d'implémentation traite. Le but de ces méthodes est de supporter un programme de gestion tel qu'une interface graphique à extraire la liste des noms, analyser les classes pour déterminer les types d'événements qu'elles pourront éventuellement traiter et d'afficher les résultats. Les extensions JRas n'appelant jamais ces méthodes, vous pouvez les implémenter en tant que non opérations.

  • Les méthodes public void addMessageEventClass(String name) et public void removeMessageEventClass(String name) permettent d'ajouter à la liste un nom de classe d'événements de message ou d'en supprimer un. La méthode public Enumeration getMessageEventClasses renvoie une énumération dans la liste des noms de classe d'événements de message. De même, les méthodes public void addTraceEventClass(String name) et public void removeTraceEventClass(String name) permettent d'ajouter à la liste un nom de classe d'événements de trace ou d'en supprimer un. La méthode public Enumeration getTraceEventClasses renvoie une énumération dans la liste des noms de classe d'événements de trace.

Interface RASIHandler

L'interface RASIHandler introduit les méthodes propres au comportement d'un manipulateur.

L'interface RASIHandler fournie par le jeu d'outils de consignation JRas autonome supporte des manipulateurs qui s'exécutent en mode synchrone ou asynchrone. En mode asynchrone, les événements sont généralement placés en file d'attente par l'unité d'exécution appelante puis écrits par une unité d'exécution de tâche. La génération dynamique d'unités d'exécution n'étant pas prise en charge dans l'environnement WebSphere Application Server, il est attendu que les manipulateurs ne placent pas les événements en file d'attente ou en lots, bien que cela ne soit pas expressément interdit.

  • Les méthodes public int getMaximumQueueSize() et public void setMaximumQueueSize(int size) créent des exceptions IllegalStateException pour gérer la taille maximale de la file d'attente. La méthode public int getQueueSize permet de rechercher la taille actuelle de la file d'attente.
  • Les méthodes public int getRetryInterval et public void setRetryInterval(int interval) supporte la notion de reprise sur erreur, qui implique un certain type de mise en file d'attente.
  • Les méthodes public void addFormatter(RASIFormatter formatter), public void removeFormatter(RASIFormatter formatter) et public Enumeration getFormatters permettent de gérer la liste des formateurs avec lequel le manipulateur peut être configuré. Différent formateurs peuvent, au besoin, être associés à différentes classes d'événements.
  • Les méthodes public void openDevice, public void closeDevice et public void stop permettent de gérer l'unité sous-jacente que le manipulateur met en abstraction.
  • Les méthodes public void logEvent(RASIEvent event) et public void writeEvent(RASIEvent event) permettent de transmettre des événements au manipulateur pour traitement.

Ecriture d'un formateur

Les formateurs écrits par l'utilisateur doivent implémenter l'interface RASIFormatter. L'interface RASIFormatter est une extension de l'interface RASIObject. L'implémentation de l'interface RASIObject est la même pour les manipulateurs et pour les formateurs. Les méthodes introduites par l'interface RASIFormatter sont brièvement décrites ci-après. Pour des informations plus détaillées sur les méthodes qu'introduit cette interface, reportez-vous à la documentation de l'API du produit concerné.

Interface RASIFormatter

  • Les méthodes public void setDefault(boolean flag) et public boolean isDefault sont utilisées par les classes concrète RASHandler fournies par le jeu d'outils de consignation JRas autonome afin de déterminer si un formateur particulier est le formateur par défaut. Ces classes RASHandler ne devant jamais être utilisées dans un environnement WebSphere Application Server, l'importance de la sémantique de ces méthodes peut être déterminée par l'utilisateur.
  • Les méthodes public void addEventClass(String name), public void removeEventClass(String name) et public Enumeration getEventClasses permettent de déterminer quelles classes d'événements un formateur peut utiliser pour formater. Vous pouvez fournir les implémentations appropriées.
  • La méthode public String format(RASIEvent event) est appelée par les objets manipulateur et renvoie une représentation de chaîne formatée de l'événement.

Icône indiquant le type de rubrique Rubrique de référence



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rtrb_wrtextensions
Nom du fichier : rtrb_wrtextensions.html