java - jpos QMUX 是否支持限制并发 ISO 请求的数量?

标签 java spring iso8583 multiplexing jpos

我更新了我的旧 spring/java 应用程序,它将事务推送到远程 ISO 服务器(银行)。使用经典方法 (channel.seng(isoMsg)) 通过同步方法,因为通过同一 channel 发送多个 ISO 请求使得难以映射请求和响应。过去有太多事务留在队列中,因为每个事务需要 5 秒才能从远程服务器接收响应。因此,它达到了所有即将到来的交易都将超时的地步。为了摆脱这个问题,我开始实现 QMUX。该系统现已上线。
现在我的问题是,如果已经有 50 笔交易没有到达或超时,银行告诉我不要发送交易。
所以,现在我需要配置 MUX 框架,以便一旦系统等待 50 个响应,框架应该停止发送并应该在我的末尾排队,当它收到 1 个响应时,它可以再次发送一个事务以保持等待的总数响应小于或等于 50。
如何使用 jpos QMUX 实现这一点?

最佳答案

您可以使用 org.jpos.iso.filter.ThroughtputControlFilter [1] 在 ChannelLevel 但不在 MUX 级别。在调用 MUX 之前,您可以从它的实现中挑选一些想法来在您的代码中处理它们。
您也可以使用信号量。
[1] http://jpos.org/doc/javadoc/org/jpos/iso/filter/ThroughputControlFilter.html

关于java - jpos QMUX 是否支持限制并发 ISO 请求的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68745062/

相关文章:

java - 超能力规则语言: using timer for rule

java - 使用 Java(PlayFramework-2.6 或 Plain Java)将数据 URI 上传到服务器

java - 在需要预处理的情况下,如何在 weka 中正确分类文本

java - 使用 Angular 和 Spring 进行 Jwt 身份验证

java - 当从 Atmosphere 的 MeteorServlet 中使用 Spring DispatcherServlet 时,Spring 上下文会加载两次

java - 无法连接到oracle数据库。它说 "Unable to determine jdbc url from datasource"

iso8583 - iso8583授权请求和授权建议请求之间的区别

java - for循环减少循环中的变量

iso8583 - 将 ISOMsg 发送到 ISOServer

iso8583 - 为 ISO 8583 中的字段 55 赋值的示例