【发布时间】:2021-10-15 02:17:04
【问题描述】:
我更新了我的旧 spring/java 应用程序,它将事务推送到远程 ISO 服务器(银行)。使用经典方法 (channel.seng(isoMsg)) 通过同步方法,因为通过同一通道发送多个 ISO 请求使得很难映射请求和响应。由于每个事务需要 5 秒才能接收到来自远程服务器的响应,因此有太多事务一直留在队列中。因此,它达到了所有即将进行的事务都将超时的地步。为了摆脱这个问题,我开始实现 QMUX。该系统现已上线。
现在我的问题是,如果已经有 50 笔交易未到达或超时,银行告诉我不要发送交易。
所以,现在我需要配置 MUX 框架,以便一旦系统等待 50 个响应,框架应该停止发送并应该在我端排队,当它收到 1 个响应时,它可以再次发送一个事务以保持总数等待响应的数量小于或等于 50。 如何使用 jpos QMUX 实现这一目标?
【问题讨论】:
-
我相信在
QMUX级别上没有开箱即用的配置,但是您可以从事务管理器中的事务参与者调用它并将事务管理器配置为具有max-sessions=50。否则,您可以在问题中请求该功能或在项目的 PR 中实现它
标签: java spring iso8583 multiplexing jpos