gpt4 book ai didi

java - 如何在 web.xml 之外动态配置 WebLogicCluster 属性

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:14:44 26 4
gpt4 key购买 nike

我在 weblogic 10.3.3 中将一个 Web 应用程序部署为 war 文件。现在我想让这个应用程序可以集群化。为此,我使用 Weblogic 的 HttpClusterServlet 作为负载平衡器。根据documentation我可以将这个 servlet 配置放入 web.xml

  <servlet>
<servlet-name>HttpClusterServlet</servlet-name>
<servlet-class>weblogic.servlet.proxy.HttpClusterServlet</servlet-class>

<init-param>
<param-name>WebLogicCluster</param-name>
<param-value>server-1:7122|server-1:7123</param-value>
</init-param>
</servlet>

问题是这个配置在构建时是硬连接的,不能在运行时重新配置。例如,我希望能够动态添加 5 个服务器。我有几个想法来解决这个问题:

  1. 用自己的 servlet 实现扩展 weblogic.servlet.proxy.HttpClusterServlet。这是不可能的,该类(class)是 final类。
  2. 使用 servlet 过滤器重新配置 servlet。无法再通过 ServletContext().getServlet(String) 访问 servlet从 Java Servlet API 2.1 开始,没有直接的替代品。
  3. 反射可能是一个选项,但我想不出一个可靠的方法来访问配置

到目前为止,我在外部重新配置此 init-param 的所有尝试都失败了。我愿意接受任何解决方案。

最佳答案

这可能对 How to externalize web.xml servlet init-param? Spring DelegatingFilterProxy for Servlets? 有所帮助,即使您不使用 Spring,将该 servlet 移植到另一个 IoC 容器也不会太难。

关于java - 如何在 web.xml 之外动态配置 WebLogicCluster 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8800789/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com