Sie können die Konfiguation von Plug-in-Manager in der Datei wimconfig.xml definieren.
Die Konfiguration von Plug-in-Manager besteht aus den folgenden beiden Abschnitten, mit denen Themensubskribenten bei Plug-in-Manager registriert und ihnen anschließend Themenemitter zugeordnet werden.
Mithilfe der hier dargestellten Beispielkonfiguration können Sie einen Benachrichtigungssubskribenten namens "JMSEventNotificationSubscriber" und zwei Änderungssubskribenten namens "ABCSoftgroupsSubscriber" und "XYZSoftgroupsSubscriber" beim Themenemitter für die Virtual Member Manager-API create() registrieren. Diese beiden Änderungssubskribenten werden in diesem Beispiel auch beim Themenemitter für die Virtual Member Manager-API get() registriert.
<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>
Wenn in diesem Beispiel die Ausführung der API create() beginnt, wird die Methode "preExit" für das Plug-in "JMSEventNotificationSubscriber" aufgerufen. Das Plug-in kann das Datenobjekt nicht ändern, weil es sich um einen Benachrichtigungssubskribenten handelt. Danach werden die Methoden preExit für das Plug-in "ABCSoftgroupsSubscriber" und das Plug-in "XYZSoftgroupsSubscriber" ebenfalls aufgerufen. Bei diesen Plug-ins handelt es sich um Änderungssubskribenten, daher können sie das Datenobjekt ändern. Die Methode postExit wird am Ende der Ausführung der API create() nicht aufgerufen, weil die Subskribenten nicht bei der Methode postExit registriert sind.
Nach abgeschlossener Ausführung des Aufrufs für die API get() werden ebenfalls die Methoden "postExit" für die Plug-ins "ABCSoftgroupsSubscriber" und "XYZSoftgroupsSubscriber" aufgerufen. Die Plug-ins können das zurückgegebene Datenobjekt ändern, weil es sich hier um Änderungssubskribenten handelt. Die Methode "preExit" wird am Beginn der Ausführung der API get() nicht aufgerufen, weil die Subskribenten nicht bei der Methode "preExit" registriert sind.
Stellen Sie nach dem Definieren der Subskribenten sicher, dass diese Teil der Variablen CLASSPATH sind, oder platzieren Sie sie an der Position WAS_HOME/lib, bevor Sie IBM® WebSphere Application Server starten.