我通过在 server.xml 中包含 -part 来设置一个 tomcat 7 集群。在文档(http://tomcat.apache.org/tomcat-7.0-doc/cluster-howto.html)中它说:
广播的IP是java.net.InetAddress.getLocalHost().getHostAddress()(确保你没有广播127.0.0.1,这是一个常见的错误)
不幸的是,getLocalHost().getHostAddress() 为我的所有虚拟机返回 127.0.1.1(Ubuntu 在 Win7 下的 Virtual Box 中运行),而不是我可以访问虚拟机的正确 ip,即 10.42.29.191。
问题:
有没有办法告诉tomcat通过多播向集群的其他成员发送什么ip?或者我可以指定(例如代码)不同的方式来获取IP?
附加信息:
我的集群似乎无法进行会话复制,并且上面的“错误”可能是它的原因。Glassfish 也不进行会话复制,可能是同样的错误。如果您能提供有关 glassfish 配置的信息,我也会很高兴。虚拟机之间的多播根据工具 iperf 工作。