session - 如何更改tomcat集群中的广播IP

标签 session tomcat ip replication cluster-computing

我通过在 server.xml 中包含 -part 来设置 tomcat 7 集群。 在文档(http://tomcat.apache.org/tomcat-7.0-doc/cluster-howto.html)中它说:

The IP broadcasted is java.net.InetAddress.getLocalHost().getHostAddress() (make sure you don't broadcast 127.0.0.1, this is a common error)

不幸的是,getLocalHost().getHostAddress() 为我的所有虚拟机(Ubuntu 在 Win7 下的 Virtual Box 中运行)返回 127.0.1.1,而不是我可以访问虚拟机的正确 IP,即 10.42.29.191。

问题:

有没有办法告诉 tomcat 通过多播将什么 ip 发送给集群的其他成员?或者我可以指定(例如代码)不同的方式来获取 ip 吗?

附加信息:

我的集群似乎无法进行 session 复制,上面的“错误”可能是问题的原因。 Glassfish 也不做 session 复制,也许是同样的错误。如果您能提供有关 glassfish 配置的信息,我也会很高兴。虚拟机之间的多播根据工具iperf工作。

最佳答案

由于虚拟机是一台 Ubuntu 机器,我不得不编辑文件/etc/hosts。

像这样替换条目:

127.0.1.1   tim-VirtualBox

使用正确的 ip:

10.42.29.191    tim-VirtualBox

关于session - 如何更改tomcat集群中的广播IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16676389/

相关文章:

php - 用于动态 IP 服务器的 Google API key

python - 创建持续不断的变化提要

未在 Edge(点网核心)上设置 session cookie

hibernate - 我们可以限制从 SessionFactory 获取的 session 数量吗?

ruby-on-rails - 如何理解和减少 Rails 应用程序中的 IP 欺骗攻击错误?

php - 没有mysql的php中唯一的ip访问重定向

asp.net - 清除 ASP.NET 中的 session

spring-boot - tomcat webapps中的spring boot war包

tomcat - 如何在 Tomcat 9 中的不同端口上部署多个 Web 应用程序?

tomcat - 如何正确使用 URI 将图像插入 BIRT 报告?