Infinispan:动态更改 jgroups 多播端口

Infinispan : change dynamically jgroups multicast port

我们最近使用 infinispan 部署了一个应用程序(第一次) 此应用程序在 3 个环境中运行(测试(2 个节点)、pilote(2 个节点)和生产(4 个节点))。

我的问题是每个节点都能看到其他 7 个节点。这很正常,因为每个人的 jgroups UDP 配置文件都是一样的,所以他们都使用相同的端口进行通信。

我想通过代码为每个环境设置一个特定的端口,以避免维护特定的配置

我们的配置文件存储在我们的自定义 stack 中,(与我们所有的项目共享,我不希望堆栈依赖于项目环境定义)

我找到了 "Protocol" class 但我很难通过 infinispan 管理器

获得 link

你有什么解决办法吗?

您可以为 mcast 端口使用一个变量,例如<UDP mcast_port="${my.mcast.port:15000}"。设置系统 属性 my.mcast.port 将覆盖默认值 15000

您可以获得 UDP 协议并在 JGroups 中以编程方式更改端口,但在 Infinispan 中,这没有任何意义,因为在创建缓存时 JGroups 已经启动且JChannel连接后不能更改端口