调用事务

调用事务用于在目标节点上调用一个或多个集群命令。这与对集群中定义的命令进行远程过程调用类似。

与写入事务类似,调用事务支持定时和不定时事务。如需详细了解定时事务,请参阅定时和未设定时间的操作部分。

未定调用时间

未超时调用事务的操作序列
图 1:未超时的调用事务

调用请求操作

方向:启动器 -> 目标

与读取请求操作和写入请求操作类似,在此响应中,启动器会为目标提供:

  • 调用请求:集群命令的路径列表,以及命令的可选参数,名为命令字段
  • 定时请求:指示此操作是否属于定时调用事务的标志。
  • Suppress Response:指示是否应抑制调用响应操作的标志。
  • Interaction ID:用于将调用请求操作与调用响应操作匹配的整数。

调用响应操作

方向:目标 -> 启动器

目标收到调用请求操作后,它将使用包含以下调用调用响应操作完成交易:

  • 调用响应:发出的每个调用请求的命令响应或状态列表。
  • 互动 ID:用于将调用响应操作与调用请求操作匹配的整数。

对超时的调用限制

调用请求操作可以是组播,但在这种情况下,必须设置禁止响应标志。这样做的原因是,群组的每个成员可能会同时响应网络。

如需启用此行为,“调用请求”列表中使用的路径可能包含组,也可以包含通配符,但仅限于端点字段。此外,如果 Action 是组播,此事务会终止且没有响应。

定时调用事务

与定时写入事务类似,定时调用事务也从定时请求操作开始。

定时调用事务的操作序列
图 2:定时调用事务

定时请求操作

方向:启动器 -> 目标

发起者应启动发送此操作的事务,该事务包含:

  • 超时:此事务可能保持打开状态的毫秒数。在此期间,启动器发出的下一个操作将被视为有效。

收到定时请求操作后,目标必须使用状态响应操作来确认定时请求操作。启动程序收到报告错误后的状态响应操作后,会发送调用请求操作。

调用请求操作

与之前描述的调用请求操作相同。

调用响应操作

与前面描述的调用响应操作相同。

限时调用限制

所有调用命令都可以在定时交互上调用。定时请求操作、调用请求操作和调用响应操作仅限 Unicast,因此不能用作定时调用事务的组播。

调用请求操作支持使用包含路径的路径以及通配符,但调用响应操作不支持使用通配符。