首页 文章

如何在OSB代理服务中使用Report操作来记录重试尝试

提问于
浏览
1

我想使用报告操作记录OSB中代理服务的重试尝试 .

我创建了一个JMS传输代理服务,它将从IN_QUEUE中选择消息并将消息路由到业务服务,该业务服务将消息推送到OUT_QUEUE并报告状态(成功或失败) .

但是,如果处理时出错,代理服务应在失败前重试5次 . 为了实现这一点,我已经配置了路由选项并将重试计数设置为5并且它运行良好 .

我现在想要的是记录代理服务的重试尝试(使用报告操作) . 请建议我如何做到这一点 .

1 回答

  • 0

    记录业务服务的重试尝试很困难,因为它是在代理范围之外处理的 . 关于最接近的是设置SLA警报以在bizref失败时通知您,但不会在每条消息上触发 - 只要它在聚合间隔期间检测到错误 .

    记录代理的重试尝试要容易得多,尤其是因为它是JMS代理 . 处理失败会将消息放回队列(启用XA的资源,您可能希望启用Same Transaction For Response),重试将增加JMS传输头内的计数器,代理可以提取并决定是否报告是不是 .

    请记住,除非您在发布/报告上将QoS设置为尽力而为,否则如果发生故障,发布自己将被回滚,这可能不是您想要的 .

相关问题