我更新了我的旧spring/java应用程序,它通过同步方法将事务推送到远程ISO服务器(银行).With经典方法(channel.seng(isoMsg)),因为通过相同的通道发送多个ISO请求会很难映射请求和响应。由于每个事务需要5秒才能接收到来自远程服务器的响应,因此太多的事务需要留在队列中。由于它到达了所有即将到来的事务都将超时的点。为了解决这个问题,我开始实现QMUX。系统现在已经上线了。
现在我的问题是,银行告诉我,如果已经有50笔交易的响应没有到达或超时,就不要发送交易。
所以,现在我需要配置MUX框架,一旦系统等待50个响应,框架就应该停止发送,并在我的端排队,当它接收到1个响应时,它可以再次发送另一个事务,以保持等待响应的总数小于或等于50。如何使用jpos QMUX实现这一点?
发布于 2021-08-12 17:16:28
您可以在ChannelLevel上使用org.jpos.iso.filter.ThroughtputControlFilter 1,但不能在多路复用级别上使用。您可以从它的实现中挑选一些想法,以便在调用MUX之前在您的代码中处理它们。
您也可以使用信号量。
1
https://stackoverflow.com/questions/68745062
复制相似问题