【问题标题】:How to dynamically configure the WebLogicCluster property outside of web.xml如何在 web.xml 之外动态配置 WebLogicCluster 属性
【发布时间】:2012-01-10 09:11:08
【问题描述】:

我在 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。这是不可能的,课程是最终的。
  2. 使用 servlet 过滤器重新配置 servlet。自 Java Servlet API 2.1 起,该 servlet 不再可通过 ServletContext().getServlet(String) 访问,无法直接替换。
  3. 反射可能是一种选择,但我找不到访问配置的可靠方法

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

【问题讨论】:

    标签: java servlets weblogic web.xml cluster-computing


    【解决方案1】:

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

    【讨论】:

    • 这看起来是一个非常有趣的方法......让我们看看它是否适用于这种情况(没有 Spring)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-20
    • 1970-01-01
    • 1970-01-01
    • 2015-04-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多