在Windows 10上的docker中运行infinispan

问题描述

我正在尝试在具有Windows Docker桌面的Windows 10计算机上运行infinispan docker映像。

我编写了一个小型测试Java程序,该程序使用hotrod连接到localhost:11222并访问缓存。

问题在于,初始连接后,客户端会从服务器接收到新地址172.17.0.3:11222,并且由于该地址是docker内部地址,因此无法连接到该地址。 Windows的docker桌面无法将消息直接路由到内部容器地址。 infinispan或Windows计算机上是否有任何解决方法

解决方法

最简单的解决方案是在Hot Rod客户端中禁用对拓扑更新的处理:

infinispan.client.hotrod.client_intelligence=BASIC

有关客户智能here的更多信息。

请注意,在生产环境中不建议这样做:客户端将忽略即将出现的新服务器,并且它将在停止之后很长时间尝试与初始服务器列表中的服务器联系。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...