用来管理资源组以及最终管理群集上的资源的资源组管理器 (RGM) 适用于回叫模型。 当发生特定事件时,例如某个节点发生故障,RGM 将为在受影响节点上运行的每一个资源调用资源类型的方法。 例如,RGM 将调用 Stop 方法来停止在受影响节点上运行的资源,然后再调用该资源的 Start 方法以在其它节点上启动该资源。 (有关此模型的详细信息,请参阅RGM 模型、回叫方法和 rt_callbacks(1HA) 手册页)。
为支持此模型,Agent Builder 将在 install_directory/rt_name/bin 目录中生成用作回叫方法的八个可执行程序 (C) 或脚本 (ksh)。
严格地说,用来实现缺省监视器的 rt_name _probe 程序不是回叫程序。 RGM 并不直接调用 rt_name _probe,而是调用 rt_name _monitor_start 和 rt_name _monitor_stop,它们调用 rt_name_probe 来启动和停止缺省监视器。
rt_name_monitor_check
rt_name_monitor_start
rt_name_monitor_stop
rt_name_probe
rt_name_svc_start
rt_name_svc_stop
rt_name_update
rt_name_validate
有关以上每一个方法的详细信息,请参阅 rt_callbacks(1HA) 手册页。
在 install_directory/ rt_name/src 目录中(C 输出),Agent Builder 将生成以下文件:
头文件 (rt_name .h)。
包含所有方法通用的代码的源文件 (rt_name .c)。
通用代码的对象文件 (rt_name .o)。
每个方法的源文件 (*.c)。
每个方法的对象文件 (*.o)。
Agent Builder 将 rt_name .o 文件链接到每个方法的 .o 文件,以在 install_directory/ rt_name/bin 目录中创建可执行文件。
对于 ksh 输出,install_directory /rt_name/bin 和 install_directory/rt_name/src 目录是一样的 — 每个都包含八个可执行脚本(对应于七个回叫方法和一个 PROBE 方法)。
ksh 输出包含有两个已编译的公用程序(gettime 和 gethostnames),某些回叫方法需要使用这些公用程序来获取时间并进行探测。
您可以编辑源代码并运行 make 命令来重新编译代码,完成时,可以运行 make pkg 命令生成新的软件包。 为支持对源代码进行修改,Agent Builder 在源代码中添加代码的相应位置嵌入了注释。 请参阅编辑已生成的源代码。