[英]Custom Context in Spring-WS
我试图以与我的Spring上下文类似的方式自定义spring-ws servlet上下文。 对于初始上下文(服务器启动时初始化),我扩展了ContextLoader
并实现了ServletContextListener
类,该类类似于org.springframework.web.context.ContextLoaderListener
类的工作。 我能够通过重写customizeContext(ServletContext servletContext, ConfigurableWebApplicationContext applicationContext)
方法来自定义初始上下文,并基于属性添加/删除可选的上下文xml文件。 我可以将此类设置为web.xml
文件中的侦听器,而不是Spring中的默认ContextLoaderListener
,它可以按预期运行。
我正在针对spring-ws servlet上下文(在WEB-INF\\spring-ws-servlet.xml
定义的所有bean)采取类似的方法,但是我没有找到任何解决方案。 我唯一能想到的是让我的自定义上下文加载器还生成一个XML文件,其中包含“可选” bean,并让spring-ws-servlet
上下文导入此文件。 但是,这只是解决方案的工作,我认为必须有更好的方法。 在调用第一个Web服务时,是否有人对如何自定义spring-ws servlet上下文有任何建议?
我正在使用Spring 2.5.6和Spring-WS 1.5.9
提前致谢。
我能够找到解决方案。 我创建了一个扩展MessageDispatcherServlet
的类,并覆盖了postProcessWebApplicationContext
方法。 在该方法中,我根据我的属性有条件地添加了可选的上下文位置。 调用此方法后,父级将在上下文上调用refresh()
方法,并将加载其他上下文。
有人向我建议的另一个解决方案是创建自定义名称空间,并创建一个名称空间处理程序以在条件满足时执行导入。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.