我们已经建立了一个基于 ActiveMQ 的应用程序基础设施。
我们可以很好地发送和接收消息,并且在大多数情况下,事情非常快而且还可以。
但是,我们注意到,如果我们“一次”提交一批消息,比如 5,000 条消息 - ActiveMQ 将很快将消息发送到另一端的第 3 方应用程序,并且该应用程序也将很快处理,并且它也会将回复排队快速返回给经纪人,比如不到一分钟。
但是由于某种原因,我们最初生成消息的 VB.NET EXE 似乎只是在处理它收到的返回消息不规律,有时大约每秒处理一个,有时会中断一个小时左右,然后返回每秒一个。
Origin (VB.NET EXE which we manage)
-> Broker (which we manage)
-> (3rd party app)
-> back to the same broker
-> back to the origin app.
接收器正在等待可能 9 个月前从 ActiveMQ 下载的 C# 代码中的事件 MessageListener:
Public Delegate Sub MessageListener(ByVal message As NMS.IMessage)
Member of: NMS
我认为发生的事情是 MessageListener 只给我们一条消息 (NMS.IMessage) 来咀嚼,所以这就是我们处理的。
有没有办法说“在 MessageListener 事件中,请查看队列中是否还有其他消息并全部执行”?