我有基于Spring的应用程序并使用编程方法(AbstractAnnotationConfigDispatcherServletInitializer
)进行应用程序配置。
要使tomcat会话复制工作,我需要使用<distributable/>
中的web.xml
标记'标记'应用distributable,但正如我所提到的,我使用的是编程风格,例如
public class WebInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
String activeProfile = activeProfile();
if (isNotEmpty(activeProfile)) {
servletContext.setInitParameter("spring.profiles.active", activeProfile);
}
super.onStartup(servletContext);
}
}
我找不到任何关于如何使用Spring配置的文档,所以我的问题是,是否有可能在没有web.xml的情况下拥有可分发的应用程序?我无法将所有配置移动到web.xml,因此感谢任何帮助。
答案 0 :(得分:5)
您无法从基于Java的配置中设置多个选项,其中一个是<distributable />
另一个是error-pages
。
为此,您仍然需要web.xml
,只需创建一个尽可能为空的web.xml
并且只包含<distributable />
。其他所有内容都可以保留在基于Java的配置中。
<web-app
version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<distributable />
</web-app>
答案 1 :(得分:0)
这似乎已在此处得到解答...... Mixing web.xml and AbstractAnnotationConfigDispatcherServletInitializer in Spring 除非我误解了问题/答案。
答案 2 :(得分:0)
无法使用Spring以编程方式配置群集。一种解决方案是混合使用基于XML和Java的配置。这样可以维护Web.xml条目。 一个例子是here来做这件事。