2011-06-10 139 views
1

我有两个web应用程序和EAR级别的jar文件组成的应用程序。 一个Web应用程序(比如说SPApp)是使用Spring构建的,另一个使用Struts(STApp)构建的。 我想分享的SPAPP的看点类SystemArchitecture这里spring aop在两个web应用程序之间共享spring aspect class

6.2.3.3定义。共享切入点定义

in STApp。

我在EAR级jar文件中添加了SystemArchitecture类,并从SPApp调用,但在访问STApp时不执行。

然后我把STApp里面的方面类SystemArchitecture搬到了里面,而且令人吃惊的是它工作。 我不知道什么是错误时,我把SystemArchitecture在EAR级库。

请帮忙。

感谢, Hanumant

回答

0

,Spring AOP将会无法正常工作之外的春天。 AOP的Spring实现基于动态代理,Spring bean工厂将代理建议的类来注入切入点。你所追求的就是所谓的“加载时织入”,在这种情况下,java代理用于拦截ClassLoader并在装入时装饰建议的类。这是一个AspectJ功能,而不是Spring AOP。在这里阅读更多:http://www.eclipse.org/aspectj/doc/released/devguide/ltw.html

春季和AspectJ可以一起玩为好,但它不限于弹簧驱动的应用程序:http://static.springsource.org/spring/docs/3.0.0.RC2/spring-framework-reference/html/ch07s08.html

不过,如果你想“真” AOP,春天的独立的,那么你需要去负荷时间编织和AspectJ。

编辑:可能误解了你的问题。只有当你把你的建议类放入应用程序本身时,你才会说它适用于你的struts应用程序。从那我读到你的Struts应用程序也是Spring驱动的。如果不知道你的配置,很难给出答案。具体来说,web.xml(两者),application.xml和你的spring配置。

+0

感谢您的回复。我很抱歉,我不能在我的客户网络之外共享任何代码,因此无法帮助进行详细配置。关于我的问题,我错过了告诉你,当我将Aspect类放在耳朵级别时,我的Spring应用程序SPApp可以访问它,但不能访问Struts App STApp。所以只是好奇它为什么它不能为STApp工作,以及它可以为SPApp工作。 – hanumant 2011-06-13 06:38:11

+0

恩,对不起。不知道更多关于你的配置,很难做任何进一步的分析。 – pap 2011-06-15 11:21:32

+0

谢谢@pap,实际上我很抱歉没有为您提供所需的详细信息。一旦找到它,我会尽力给出解决方案。 – hanumant 2011-06-15 11:54:44

相关问题