首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

采用共享jar包部署struts2+spring集成项目会遇到的有关问题

2013-11-30 
采用共享jar包部署struts2+spring集成项目会遇到的问题此时tomcat启动时,会先加载a项目,再加载b项目(一定

采用共享jar包部署struts2+spring集成项目会遇到的问题

此时tomcat启动时,会先加载a项目,再加载b项目(一定要是这个顺序才会出现问题,比如tomcat是通过list file顺序部署的)。(关于tomcat的classloader请参考:http://tomcat.apache.org/tomcat-6.0-doc/class-loader-howto.html)

?

tomcat/lib下的jar包:

请参考附件?

?

a项目(WEB-INF/lib下没有jar包):

?

spring-config.xml只有一句,用来扫描注解bean:

?

?

?4、_nullHandlers何时注册的呢?这个是问题的关键,通过查看源代码,会发现:


?

6.3.2、b项目启动时注册的handler,该handler有b项目的spring容器引用(里边有project bean的):
采用共享jar包部署struts2+spring集成项目会遇到的有关问题

?

6.3.4、所以呢最后一个项目的null handler有效。就造成了之前的问题。

?

所以解决办法就是不能共享这些jar包。或者保证spring容器中没有同名的bean。。

?

示例项目源码请在附件中下载。建议下载源码跟踪一下。

?

另一个类似的bug:

struts2+spring集成bug——使用AOP时可能遇到的问题分析
哥们 有意向来我们这里不.

热点排行