2011-06-10 160 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

相關問題