以编程方式设置tomcat jvmRoute

时间:2019-04-20 18:18:58

标签: java apache tomcat load-balancing

我已经在Docker上启动了6个Tomcat容器。

我不想进入各个容器来为每个容器在jvmRoute中设置server.xml属性。

如何以编程方式设置jvmRoute,如果要设置jvmRoute属性为Tomcat1 -> Tomcat9(或使用其他约定)

1 个答案:

答案 0 :(得分:1)

我想从上面的评论中总结一下。您可以使用传递给 docker 容器的环境变量从外部控制 jvmRoute 属性。实际上,我在 Kubernetes 中遇到了同样的问题,找到了以下解决方案:

在 server.xml 中,我确实在 Engine 标签上设置了以下属性:

<Engine name="Catalina" defaultHost="localhost" jvmRoute="${node_routing_suffix}">

然后,在 setenv.sh 脚本中我添加了这个:

CATALINA_OPTS="${CATALINA_OPTS} -Dnode_routing_suffix=${NODE_ROUTING_SUFFIX}"

现在我可以将环境变量 NODE_ROUTING_SUFFIX 传递给我的容器来设置 jvmRoute。