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

Java 如何在web.xml之外动态配置WebLogicCluster属性,java,servlets,weblogic,web.xml,cluster-computing,Java,Servlets,Weblogic,Web.xml,Cluster Computing,我在weblogic 10.3.3中部署了一个web应用程序作为war文件。现在我想让这个应用程序成为集群式的。为此,我使用Weblogic中的HttpClusterServlet作为负载平衡器。根据示例,我可以将这个servlet配置放到web.xml中 <servlet> <servlet-name>HttpClusterServlet</servlet-name> <servlet-class>weblogic.servl

我在weblogic 10.3.3中部署了一个web应用程序作为war文件。现在我想让这个应用程序成为集群式的。为此,我使用Weblogic中的
HttpClusterServlet
作为负载平衡器。根据示例,我可以将这个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>

HttpClusterServlet
weblogic.servlet.proxy.HttpClusterServlet
WebLogicCluster
服务器-1:7122 |服务器-1:7123
问题是这个配置在构建时是硬连接的,不能在运行时重新配置。例如,我想能够添加5个以上的服务器动态。我有几个办法来解决这个问题:

  • 使用自己的servlet实现扩展
    weblogic.servlet.proxy.HttpClusterServlet
    。这是不可能的,课程是最终的
  • 使用servlet过滤器重新配置servlet。由于JavaServletAPI2.1没有直接替换,因此无法通过访问servlet
  • 反射可能是一种选择,但我无法找到访问配置的可靠方法

  • 到目前为止,我在外部重新配置此init参数的所有尝试都失败了。我对任何解决方案都持开放态度。

    这可能会有所帮助,即使您不使用Spring,将servlet移植到另一个IoC容器也不会太难。

    这看起来是一种非常有趣的方法。。。让我们看看它在这种情况下是否有效(没有弹簧)