如何解决使用 DEFAULT_CONFIRMATION_WINDOW_SIZE(-1) 部署网桥时,无法在确认窗口大小 < 0 错误的连接上设置确认处理程序
我尝试通过 Core Bridge
部署 ActiveMQServer.deployBridge(BridgeConfiguration config)
,我为 BridgeConfiguration
创建了具有默认值 (DEFAULT_CONFIRMATION_WINDOW_SIZE = -1) 的 confirmationWindowSize
并把它放在ActiveMQServer.deployBridge(BridgeConfiguration config)
中,但在那之后,我得到了错误
你不能在一个连接上设置confirmationHandler 确认窗口大小
我做错了什么还是错误?
Artemis 2.16.0 版
解决方法
这看起来像是一个带有默认值 org.apache.activemq.artemis.core.config.BridgeConfiguration#confirmationWindowSize
的小错误。目前它正在使用这个:
private int confirmationWindowSize = ActiveMQClient.DEFAULT_CONFIRMATION_WINDOW_SIZE;
但是,它应该使用这个:
private int confirmationWindowSize = ActiveMQDefaultConfiguration.getDefaultBridgeConfirmationWindowSize();
您可以通过手动设置确认窗口大小来解决此问题,例如:
BridgeConfiguration myBridgeConfiguration = new BridgeConfiguration();
myBridgeConfiguration.setConfirmationWindowSize(ActiveMQDefaultConfiguration.getDefaultBridgeConfirmationWindowSize());
我为此打开了 a Jira issue,发送了 a PR,并且 PR 已合并。该修复将出现在 ActiveMQ Artemis 2.17.0 中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。