配置插件管理器

可在 wimconfig.xml 文件中定义插件管理器配置。

插件管理器配置包含以下两个部分来对主题订户注册插件管理器,然后将其与主题发射级关联。

TopicSubscriberList
TopicSubscriberList 定义主题订户列表。
TopicRegistrationList
TopicRegistrationList 定义主题发射器和主题发射器在各个点调用的主题订户列表。

使用此处显示的样本配置,以对通知订户(称为 JMSEventNotificationSubscriber)和两个修改订户(称为 ABCSoftgroupsSubscriber 和 XYZSoftgroupsSubscriber)注册 virtual member manager create() API 主题发射级。此示例中,这两个修改订户还可注册 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 方法。由于插件为修改订户,因此可更改返回的数据对象。由于订户没有注册 postExit 方法,执行 get API 开始时,不会调用 postExit 方法。

定义订户后,请确保订户属于 CLASSPATH 变量,并将其置于 WAS_HOME/lib,然后再启动 IBM® WebSphere® Application Server。



使用条款 | 反馈