wimconfig.xml ファイルでプラグイン・マネージャー構成を定義できます。
プラグイン・マネージャー構成は、次の 2 つのセクション (プラグイン・マネージャーにトピック・サブスクライバーを登録するセクションと、トピック・エミッターにトピック・サブスクライバーを登録するセクション) で構成されています。
通知サブスクライバー JMSEventNotificationSubscriber と 2 つの変更サブスクライバー ABCSoftgroupsSubscriber および XYZSoftgroupsSubscriber を Virtual member manager の create() API トピック・エミッターに登録する構成の例を以下に示します。この例では、この 2 つの変更サブスクライバーが、Virtual member manager の get() API トピック・エミッターにも登録されます。
<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>
この例では、create() API の実行開始時に、JMSEventNotificationSubscriber プラグインの preExit メソッドが呼び出されます。プラグインは通知サブスクライバーであるため、データ・オブジェクトを変更できません。次に、ABCSoftgroupsSubscriber プラグインと XYZSoftgroupsSubscriber プラグインの preExit メソッドも呼び出されます。これらのプラグインは変更サブスクライバーであるため、データ・オブジェクトを変更できます。postExit メソッドにサブスクライバーが登録されていないため、create() API 実行終了時に postExit メソッドは呼び出されません。
また、get() API 呼び出しによる実行の完了後に、ABCSoftgroupsSubscriber プラグインおよび XYZSoftgroupsSubscriber プラグインの postExit メソッドが呼び出されます。これらのプラグインは変更サブスクライバーであるため、戻されるデータを変更することができます。preExit メソッドにサブスクライバーが登録されていないため、get() API の実行開始時に preExit メソッドは呼び出されません。
サブスクライバーを定義した後で、定義したサブスクライバーが CLASSPATH 変数に指定されていることを確認するか、またはこれらのサブスクライバーを WAS_HOME/lib に配置してから、IBM® WebSphere® Application Server を始動します。