SAP PI EOIO强制FIFO

2020-08-25 14:59发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

希望您能帮助我。 在其他帖子中,我无法直接找到该问题的答案。

我们有一种情况,我们通过代理从ECC发送Hl7到多重接收器。 我们已经完成了代理序列化,并且在PI端,我们拥有EOIO订单,并在运行时使用了维护订单选项。

我们看到消息以正确的顺序和正确的序列号发送到PI,但是较晚接收的消息要比较早接收的消息先处理。 我们在消息日志中也看到了这个tekst:

另一个集群节点触发的序列器; 状态将更新为TBDL,并将消息放入队列

我们在Tuning the PI/PO Messaging System Queues博客中读到:

消息系统中的队列的行为与ABAP中的qRFC队列不同。 ABAP队列严格来说是先进先出(FIFO)队列,一次只能由一个Dialog工作进程处理。 消息系统队列具有可配置数量的所谓的消费者线程,这些消费者线程处理来自队列的消息。 使用者线程的默认数量是每个适配器(JDBC,文件,JMS等),每个方向(入站和出站)和服务质量(异步(EO,EOIO)和同步)为5。 因此,如果一条消息花费的时间很长,则以后到达的其他消息可以更早地完成处理。 因此,消息系统队列并不是严格意义上的FIFO。

我们的问题是,是否有可能避免这种情况,并以某种方式强制执行FIFO?

我们使用的是7.5 SP 14系统。希望您能为我提供帮助。

此致

保罗

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

希望您能帮助我。 在其他帖子中,我无法直接找到该问题的答案。

我们有一种情况,我们通过代理从ECC发送Hl7到多重接收器。 我们已经完成了代理序列化,并且在PI端,我们拥有EOIO订单,并在运行时使用了维护订单选项。

我们看到消息以正确的顺序和正确的序列号发送到PI,但是较晚接收的消息要比较早接收的消息先处理。 我们在消息日志中也看到了这个tekst:

另一个集群节点触发的序列器; 状态将更新为TBDL,并将消息放入队列

我们在Tuning the PI/PO Messaging System Queues博客中读到:

消息系统中的队列的行为与ABAP中的qRFC队列不同。 ABAP队列严格来说是先进先出(FIFO)队列,一次只能由一个Dialog工作进程处理。 消息系统队列具有可配置数量的所谓的消费者线程,这些消费者线程处理来自队列的消息。 使用者线程的默认数量是每个适配器(JDBC,文件,JMS等),每个方向(入站和出站)和服务质量(异步(EO,EOIO)和同步)为5。 因此,如果一条消息花费的时间很长,则以后到达的其他消息可以更早地完成处理。 因此,消息系统队列并不是严格意义上的FIFO。

我们的问题是,是否有可能避免这种情况,并以某种方式强制执行FIFO?

我们使用的是7.5 SP 14系统。希望您能为我提供帮助。

此致

保罗

付费偷看设置
发送
4条回答
木偶小白
1楼-- · 2020-08-25 15:38

嗨,保罗!

这看起来很奇怪。 EOIO服务质量必须确保按照收到消息的顺序处理消息。 您是否只有每个接收系统的唯一接口? 设置"在运行时保持顺序"选项的目的是什么?

此外,您是否看到同一接收器系统的顺序顺序不正确?

Evgeniy。

黑丝骑士
2楼-- · 2020-08-25 16:00

是的,对于每个单独的接收器,我们看到单个接收器中的顺序不正确

大简至美
3楼-- · 2020-08-25 15:50

所有消息可能都是在FIFO模式下处理的,但是, 当您有更多节点来处理所有需要JMS适配器的消息时,如您在SAP KBa 2408581(JMS通信通道的EOIO群集锁)中看到的那样

N-Moskvin
4楼-- · 2020-08-25 15:54

再次感谢卡洛斯,我已经 看一下JMS适配器,却不知道该怎么做。

您能给我一下这是如何工作的吗? 因为我需要接收者适配器才能最终发送消息?

那么消息流看起来如何? 我是否可以使用JMS接收器和发送器将消息路由回我原来的接收器适配器。 如果不是这样,那会是同样的问题吗?

一周热门 更多>