13.3 配置超速缓存设置

可以使用《超速缓存》页显示和更改群集的或非群集的应用程序服务器环境的超速缓存配置设置。 所做的更改会立即保存,但在下一次重启动用户应用程序时才生效。

提示:要重启动用户应用程序,可以执行以下操作之一: 重引导应用程序服务器、重新部署应用程序(如果以某种方式更改了 WAR)、或强制应用程序重启动(按照应用程序服务器文档中的描述)。

要配置超速缓存设置,需要了解:

13.3.1 如何实现超速缓存

在 Identity Manager 用户应用程序中,超速缓存是通过 JBoss 超速缓存实现的。 JBoss 超速缓存是 JBoss 应用程序服务器附带的开放源代码超速缓存体系结构,但它也可以在其它应用程序服务器上运行。

要了解有关 JBoss 超速缓存的更多信息,请访问 www.jboss.org/products/jbosscache

13.3.2 如何储存超速缓存设置

两种级别的设置可用于控制超速缓存配置。 可以结合使用它们以自定义 Identity Manager 用户应用程序的超速缓存行为。

级别

说明

全局设置

全局设置储存在中心位置 (Identity Vault),以便多个应用程序服务器能够使用相同的设置值。 例如,使用应用程序服务器群集的人通常会使用群集配置值的全局设置。

若要在 Identity Vault 中查找全局设置,请在 Identity Manager 用户应用程序驱动程序中查找下面的对象:


configuration.AppDefs.AppConfig

例如:


configuration.AppDefs.AppConfig.MyUserApplicationDriver.MyDriverSet.MyOrg

配置对象的 XmlData 特性包含全局设置数据。

本地设置

本地设置单独储存在每个应用程序服务器上,以便单个服务器可以覆盖一个或多个全局设置的值。 例如,可能希望指定一个本地设置以从全局设置中指定的群集中去除某个应用程序服务器,或将某个服务器重指派给其它群集。

若要在应用程序服务器中查找本地设置,请在 JBoss 服务器配置的 conf 目录下查找下面的文件:


sys-configuration-xmldata.xml

例如:


jboss/server/IDM/conf/sys-configuration-xmldata.xml

如果服务器有本地设置,则相应数据会包含在此文件中。 (如果未指定本地设置,则此文件不存在。)

应将全局设置视为使用用户应用程序驱动程序特定实例的每个应用程序服务器的默认值。 更改全局设置时,这些服务器中的每一个都会受到影响(在下一次重启动用户应用程序时),但那些指定了本地覆盖设置的个别服务器除外。

13.3.3 如何显示超速缓存设置

《超速缓存》页显示了当前超速缓存设置(从上一次重启动用户应用程序时开始)。 它还显示了这些设置的相应全局和本地值,还可以更改这些值(以便下一次重启动用户应用程序时使用)。

说明:说明: 图示

请注意,全局设置始终是有值的。 本地设置为可选项。

13.3.4 基本超速缓存设置

这些超速缓存设置同时应用于群集和非群集的应用程序服务器。

要配置基本超速缓存设置,请执行以下操作:

  1. 转至《超速缓存》页。

  2. 在该页的《超速缓存配置》部分,根据需要为下列设置指定全局或本地值

    设置

    操作

    锁定获取超时

    指定超速缓存为获取对对象的锁定而需等待的时间间隔(以毫秒为单位)。 如果用户应用程序在应用程序日志中得到大量的锁定超时异常,则可能需要增大此设置。默认值为 15000 ms。

    驱逐策略类

    指定想要使用的超速缓存驱逐策略的类名。 默认值为 JBoss 超速缓存提供的 LRU 驱逐策略:

    
    org.jboss.cache.eviction.LRUPolicy
    

    可以根据需要将此默认驱逐策略更改为 JBoss 超速缓存支持的其它驱逐策略。

    若要了解受支持的驱逐策略,请访问 www.jboss.org/products/jbosscache

    唤醒间隔秒数

    指定在唤醒超速缓存驱逐策略以执行以下操作前超速缓存驱逐策略等待的时间间隔(以秒为单位)

    • 处理驱逐节点事件
    • 清理大小限制和老化节点

    最大节点数

    指定超速缓存中允许的最大节点数。 如果没有限制,请指定:

    
    0
    

    到有效秒数的时间

    指定节点清除前的空闲时间(以秒为单位)。 如果没有限制,请指定:

    
    0
    

    这些设置是必需的,这意味着每个设置都必须有一个全局值,同时也可以有一个本地值。

    如果想要使用本地值覆盖设置的全局值,请选中该设置的《启用本地》复选框。 然后指定本地值。 (请确保所有本地值都有效。 否则,将无法保存所做的更改。)

    注:对于那些未选中《启用本地》的设置,保存时将删除现有的本地值。

  3. 单击《保存》。

  4. 要使保存的设置生效,请在相应的应用程序服务器上重启动用户应用程序

13.3.5 群集的超速缓存设置

本节讨论在应用程序服务器的群集中运行 Identity Manager 用户应用程序时如何配置超速缓存。 需要了解:

如何实现群集

在 Identity Manager 用户应用程序中,通过 JGroups 实现对超速缓存的群集支持。 JGroups 是 JBoss 应用程序服务器附带的开放源代码群集体系结构,但它也可以在其它应用程序服务器上运行。

用户应用程序的群集由运行 JGroups 并使用通用组 ID 的网络节点组成。 默认情况下,为用户应用程序的群集提供的组 ID 为 UUID,如下所示:

c373e901aba5e8ee9966444553544200

UUID 有助于确保唯一性,以使用户应用程序群集的组 ID 不会与环境中其它群集的组 ID 发生冲突。 例如,JBoss 应用程序服务器本身使用两个 JGroups 群集,并为它们保留组 ID DefaultPartition 和 TreeCache

要了解有关 JGroups 的更多信息,请访问 www.jboss.org/products/jgroups

如何将超速缓存用于群集

启动用户应用程序时,应用程序的超速缓存配置设置决定是否参与群集以及是否将超速缓存更改复制到该群集中的其它节点。 如果启用群集,则在发生更改时,用户应用程序将通过向每个节点发送超速缓存项失效讯息来完成这种复制。

准备使用群集

要在群集中使用超速缓存,需要执行两个主要步骤:

  1. 设置 JGroups 群集

    这包括安装 JBoss 应用程序服务器以使用所有的配置,然后将 Identity Manager 用户应用程序 (IDM.war) 分布到群集中的每个服务器,通常的做法是将其放在 farm 目录中。

  2. 在用户应用程序的超速缓存配置设置中启用该群集的使用

    请参见配置群集的超速缓存设置(下文)。

配置群集的超速缓存设置

准备好可以使用的群集后,就可以指定设置以在该群集中支持超速缓存。

要配置群集超速缓存设置,请执行以下操作:

  1. 转至《超速缓存》页。

  2. 在该页的《群集配置》部分,根据需要为下列设置指定全局或本地值

    设置

    操作

    启用群集

    选择 True 以将超速缓存更改复制到组 ID 指定的群集中的其它节点。如果不希望参与群集,请选择 False

    组 ID

    指定想要参与的 JGroups 群集的组 ID。 除非想要使用不同的群集,否则没有必要更改为用户应用程序的群集提供的默认组 ID。

    请记住,下列组 ID 保留用于 JBoss 应用程序服务器: DefaultPartition 和 TreeCache。

    提示:若要在日志记录讯息中查看组 ID,请确保将超速缓存日志的级别 (com.sssw.fw.cachemgr) 设置为《信息》或更高。

    群集属性

    为群集指定 JGroups 协议堆栈,该群集由组 ID 指定。请注意,此设置是供可能需要调整群集属性的有经验的管理员使用的。 否则,不应更改默认的协议堆栈。

    要查看当前的群集属性,请单击《查看》。

    有关 JGroups 协议堆栈的详情,请访问 www.joss.org/wiki/Wiki.jsp?page=JGroups

    如果想要使用本地值覆盖设置的全局值,请选中该设置的《启用本地》复选框。 然后指定本地值。

    注:对于那些未选中《启用本地》的设置,保存时将删除现有的本地值。

    确保群集中的所有节点指定相同的组 ID 和群集属性。 (若要查看特定节点的这些设置,必须访问在该节点上运行的 Identity Manager 用户界面 - 通过浏览至该服务器上用户界面的 URL - 然后显示《超速缓存》页。)

  3. 单击《保存》。

  4. 要使保存的设置生效,请在相应的应用程序服务器上重启动用户应用程序