通常情况下,RGM 不会使用相同的变量对同一资源连续多次调用某个方法。 但是,如果 Start 方法失败了,即使从未启动过该资源,RGM 也会对其调用 Stop 方法。 同样地,如果资源守护程序主动停止运行,RGM 可能仍会对该程序调用 Stop 方法。 相同的情况也适用于 Monitor_start 和 Monitor_stop 方法。
因为这些原因,您必须在 Stop 和 Monitor_stop 方法中内置幂等性。 使用相同参数对同一资源重复调用 Stop 或 Monitor_stop 的结果与进行单一调用的结果相同。
幂等性的一个含义是使 Stop 和 Monitor_stop 必须返回 0(成功),即使这时资源或监视器已经停止并且无工作要完成。
Init、Fini、Boot 和 Update 方法也必须具有幂等性。 Start 方法无需具有幂等性。