WSO2交付担保模式实现:不';t尝试次数超过20次的采样处理器
我是WSO2的新手,所以很抱歉我的错误(还有我的英语…) 我需要实现一个带有交付担保模式的代理,这里是我的解决方案(我从这篇文章开始):WSO2交付担保模式实现:不';t尝试次数超过20次的采样处理器,wso2,Wso2,我是WSO2的新手,所以很抱歉我的错误(还有我的英语…) 我需要实现一个带有交付担保模式的代理,这里是我的解决方案(我从这篇文章开始): 代理调用外部服务,作为输入提供初始 客户端消息 如果外部服务正在运行,则所有工作正常 答复已交给客户 如果外部服务关闭或生成SOAP错误,我将 将消息放入存储(重试存储),然后使用采样 处理器(在时间“t”之后),我将再次尝试“n”最大尝试次数: 在任何尝试中,如果外部服务关闭或生成SOAP 错误,我将再次将消息放入重试存储,然后 这个过程是重复的 在“n”
- 代理调用外部服务,作为输入提供初始 客户端消息
- 如果外部服务正在运行,则所有工作正常 答复已交给客户
- 如果外部服务关闭或生成SOAP错误,我将 将消息放入存储(重试存储),然后使用采样 处理器(在时间“t”之后),我将再次尝试“n”最大尝试次数: 在任何尝试中,如果外部服务关闭或生成SOAP 错误,我将再次将消息放入重试存储,然后 这个过程是重复的
- 在“n”次尝试之后,如果外部服务仍处于可用状态 服务,消息存储在另一个存储区(垃圾存储区)
Cesare消息转发处理器
检索存储在消息存储中的消息,并可靠地将其转发到指定的端点。此处理器尝试一次发送一条消息,并且在收到来自目标端点的响应之前,它不会将消息从存储中出列。因此,该处理器非常适合实施订单交付场景和保证交付场景 采样处理器
检索存储在消息存储中的消息,并以指定的间隔将其注入给定序列。该处理器利用Quartz调度程序框架定期处理消息。这可用于实现消息速率限制方案
-->您可以使用转发处理器并对其进行配置,使其永远不会被停用,只需添加此参数:
-1
感谢Jean Michel的快速响应。我曾尝试使用该配置,但似乎无法正常工作。无论如何,有一个问题我想知道,在“n”次尝试后,我必须停止向我的外部服务发送消息。在任何情况下,我都会尝试再次测试转发处理器…max.delivery.attempts=-1,您的消息处理器不会停止。但是,在端点中需要类似的配置:在Avanced options->endpoint suspend state和endpoint timeout state中输入“-1”作为错误代码的值:xml配置应包含-1 1.0-1 0