文章
· 六月 8, 2023 阅读大约需 2 分钟

第二十九章 开发Productions - ObjectScript Productions - 定义业务操作 - 定义消息处理程序方法

第二十九章 开发Productions - ObjectScript Productions - 定义业务操作 - 定义消息处理程序方法

定义消息处理程序方法

当创建业务操作类时,通常最大的任务是编写用于此适配器的消息处理程序,即接收生产消息的方法,然后调用适配器的方法以便与生产之外的目标进行通信。

每个消息处理程序方法都应具有以下签名:

Method Sample(pReq As RequestClass, Output pResp As ResponseClass) As %Status

这里Sample是方法名,RequestClass是请求消息类名,ResponseClass是响应消息类名。

通常,该方法应执行以下部分或全部操作:

  1. 可选地设置业务操作类的属性(在任何适当的时间)。请参阅业务运营属性。
  2. 检查输入对象。
  3. 创建响应类的实例。
  4. 调用适配器的适用方法。这些方法可通过业务操作的 Adapter 属性使用。例如:
    Set tSc=..Adapter.SendMail(email,.pf)

在这些步骤之后讨论此方法。

或者,要将消息发送到Productions中的目标,请参阅将消息发送到Productions中的目标。

  1. 检查响应。
  2. 使用响应中的信息创建响应消息(Ens.Response 在的实例),该方法将其作为输出返回。
  3. 确保设置输出参数 (pOutput)。通常,将其设置为等于响应消息。此步骤是必需的。
  4. 返回适当的状态。此步骤是必需的。

业务操作属性

在操作方法中,业务操作类的以下属性可用:

Property Description
%ConfigName 此业务操作的配置名称。
%SessionId 当前正在处理的消息的会话 ID
Adapter 此业务操作的关联出站适配器。
DeferResponse 要延迟来自此业务操作的响应以便稍后交付,请将 DeferResponse 属性设置为整数值 1 (true) 并在退出业务操作之前获取延迟响应交付令牌。
FailureTimeout 继续重试尝试的时间长度(以秒为单位)。经过此秒数后,放弃并返回错误代码。请参见重试和重试间隔。
Retry 如果要重试当前消息,请将此属性设置为整数值 1 (true)。通常,当外部应用程序没有响应并且希望在不产生错误的情况下重试时,将使用重试功能。请参见 RetryIntervalFailureTimeout
RetryInterval 如果此消息被标记为重试,重试访问输出系统的频率(以秒为单位)。请参见重试和失败超时。
SuspendMessage 如果希望业务操作将其当前正在进行的消息标记为具有暂停状态,请将此属性设置为整数值 1 (true)。请参阅暂停消息部分。
讨论 (0)1
登录或注册以继续