У меня есть веб-приложение, развернутое как файл war в weblogic 10.3.3. Теперь я хочу сделать это приложение кластеризованным. Для этого я использую HttpClusterServlet
от Weblogic в качестве балансировщика нагрузки. Согласно документации я могу поместить эту конфигурацию сервлета в файл 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 серверов динамически. У меня было несколько идей, чтобы решить эту проблему:
- Расширьте
weblogic.servlet.proxy.HttpClusterServlet
с помощью собственного сервлета. Это невозможно, класс окончательный.
- Используйте фильтр сервлета для перенастройки сервлета. Сервлет больше не доступен через ServletContext (). GetServlet (String) начиная с Java Servlet API 2.1, без прямой замены.
- Отражение может быть вариантом, но я не мог найти надежный способ доступа к конфигурации
Все мои попытки перенастроить этот init-param до сих пор не увенчались успехом. Я открыт для любых решений.