Vous pouvez définir la configuration du gestionnaire de modules d'extension dans le fichier wimconfig.xml.
La configuration du gestionnaire de modules d'extension comprend les deux sections ci-après, qui permettent d'enregistrer les abonnés aux sujets auprès du gestionnaire de modules d'extension, puis de les associer aux émetteurs de sujets.
Utilisez l'exemple de configuration illustré ci-après pour enregistrer un abonné aux notifications appelé JMSEventNotificationSubscriber et deux abonnés aux modifications appelés ABCSoftgroupsSubscriber et XYZSoftgroupsSubscriber auprès de l'émetteur de sujets de l'API create() de virtual member manager. Ces deux abonnés aux modifications sont également enregistrés auprès de l'émetteur de sujets de l'API get() de virtual member manager dans cet exemple.
<config:topicSubscriberList>
<config:topicSubscriber topicSubscriberName="JMSEventNotificationSubscriber" topicSubscriberType="NotificationSubscriber">
<config:className>com.mycompany.JMSEventNotificationSubscriber</config:className>
</config:topicSubscriber>
<config:topicSubscriber topicSubscriberName="ABCSoftgroupsSubscriber" topicSubscriberType="ModificationSubscriber">
<config:className>com.mycompany.ABCSoftgroupsSubscriber</config:className>
</config:topicSubscriber>
<config:topicSubscriber topicSubscriberName="XYZSoftgroupsSubscriber" topicSubscriberType="ModificationSubscriber">
<config:className>com.mycompany.XYZSoftgroupsSubscriber</config:className>
</config:topicSubscriber>
</config:topicSubscriberList>
<config:topicRegistrationList>
<config:topicEmitter topicEmitterName="com.ibm.ws.wim.ProfileManager.create">
<config:preExit>
<config:notificationSubscriberList>
<config:notificationSubscriber>
<config:notificationSubscriberReference>JMSEventNotificationSubscriber</config:notificationSubscriberReference>
<config:realmList>All</config:realmList>
</config:notificationSubscriber>
</config:notificationSubscriberList>
<config:modificationSubscriberList>
<config:modificationSubscriber>
<config:modificationSubscriberReference>ABCSoftgroupsSubscriber</config:modificationSubscriberReference>
<config:realmList>All</config:realmList>
</config:modificationSubscriber>
<config:modificationSubscriber>
<config:modificationSubscriberReference>XYZSoftgroupsSubscriber</config:modificationSubscriberReference>
<config:realmList>All</config:realmList>
</config:modificationSubscriber>
</config:modificationSubscriberList>
</config:preExit>
<config:postExit>
</config:postExit>
</config:topicEmitter>
<config:topicEmitter topicEmitterName="com.ibm.ws.wim.ProfileManager.get">
<config:preExit>
</config:preExit>
<config:postExit>
<config:modificationSubscriberList>
<config:modificationSubscriber>
<config:modificationSubscriberReference>ABCSoftgroupsSubscriber</config:modificationSubscriberReference>
<config:realmList>All</config:realmList>
</config:modificationSubscriber>
<config:modificationSubscriber>
<config:modificationSubscriberReference>XYZSoftgroupsSubscriber</config:modificationSubscriberReference>
<config:realmList>All</config:realmList>
</config:modificationSubscriber>
</config:modificationSubscriberList>
</config:postExit>
</config:topicEmitter>
</config:topicRegistrationList>
Dans cet exemple, si l'API create() démarre l'exécution, la méthode preExit du plug-in JMSEventNotificationSubscriber est appelée. Le plug-in ne peut pas modifier l'objet de données car il s'agit d'un abonné aux notifications. Ensuite, les méthodes preExit des plug-ins ABCSoftgroupsSubscriber et XYZSoftgroupsSubscriber sont également appelées. Ces plug-ins sont des abonnés aux modifications et peuvent donc modifier l'objet de données. La méthode postExit n'est pas appelée à la fin de l'exécution de l'API create() , car les abonnés ne sont pas enregistrés avec la méthode postExit.
En outre, une fois l'appel de l'API get() exécuté, les méthodes postExit des plug-ins ABCSoftgroupsSubscriber et XYZSoftgroupsSubscriber sont appelées. Les plug-ins peuvent modifier l'objet de données renvoyé car il s'agit d'abonnés aux modifications. La méthode preExit n'est pas appelée au début de l'exécution de l'API get(), car les abonnés ne sont pas enregistrés avec la méthode preExit.
Une fois que vous avez défini les abonnés, vérifiez qu'ils font partie de la variable CLASSPATH ou placez-les dans WAS_HOME/lib avant de démarrer IBM® WebSphere Application Server.