第二十九章 开发Productions - ObjectScript Productions - 定义业务操作 - 定义消息处理程序方法
定义消息处理程序方法
当创建业务操作类时,通常最大的任务是编写用于此适配器的消息处理程序,即接收生产消息的方法,然后调用适配器的方法以便与生产之外的目标进行通信。
每个消息处理程序方法都应具有以下签名:
Method Sample(pReq As RequestClass, Output pResp As ResponseClass) As %Status
这里Sample
是方法名,RequestClass
是请求消息类名,ResponseClass
是响应消息类名。
通常,该方法应执行以下部分或全部操作:
- 可选地设置业务操作类的属性(在任何适当的时间)。请参阅业务运营属性。
- 检查输入对象。
- 创建响应类的实例。
- 调用适配器的适用方法。这些方法可通过业务操作的 Adapter 属性使用。例如:
Set tSc=..Adapter.SendMail(email,.pf)
在这些步骤之后讨论此方法。
或者,要将消息发送到Productions
中的目标,请参阅将消息发送到Productions
中的目标。
- 检查响应。
- 使用响应中的信息创建响应消息(
Ens.Response
在的实例),该方法将其作为输出返回。 - 确保设置输出参数 (
pOutput
)。通常,将其设置为等于响应消息。此步骤是必需的。 - 返回适当的状态。此步骤是必需的。
业务操作属性
在操作方法中,业务操作类的以下属性可用:
Property | Description |
---|---|
%ConfigName |
此业务操作的配置名称。 |
%SessionId |
当前正在处理的消息的会话 ID 。 |
Adapter |
此业务操作的关联出站适配器。 |
DeferResponse |
要延迟来自此业务操作的响应以便稍后交付,请将 DeferResponse 属性设置为整数值 1 (true ) 并在退出业务操作之前获取延迟响应交付令牌。 |
FailureTimeout |
继续重试尝试的时间长度(以秒为单位)。经过此秒数后,放弃并返回错误代码。请参见重试和重试间隔。 |
Retry |
如果要重试当前消息,请将此属性设置为整数值 1 (true )。通常,当外部应用程序没有响应并且希望在不产生错误的情况下重试时,将使用重试功能。请参见 RetryInterval 和 FailureTimeout 。 |
RetryInterval |
如果此消息被标记为重试,重试访问输出系统的频率(以秒为单位)。请参见重试和失败超时。 |
SuspendMessage |
如果希望业务操作将其当前正在进行的消息标记为具有暂停状态,请将此属性设置为整数值 1 (true )。请参阅暂停消息部分。 |
网友评论