2011-10-14 3 views
1

JSF1.2 프레임 워크를 사용하고 있습니다. 필자의 애플리케이션을 스프링으로 통합하지 않았습니다. 메소드 호출에서 프로파일 링을 수행하려고합니다. 내 응용 프로그램 파일은 EAR (EJB + WAR)입니다. 인터셉터를 사용하여 Session Bean 메서드 실행 시간을 얻을 수 있지만 WAR 모듈에서는이 블로그에서 AspectJ를 사용하도록 제안되었다. 그래서 몇 가지 코드를 작성했습니다. 구성 정보처럼해야 할 일이 있습니까? 의 필요한 jar 파일을 추가했습니다. AspectJ입니다. JSF 지원 AspectJ의 구성은 무엇입니까? 내 코드 :AspectJ with JSF1.2

import org.aopalliance.intercept.MethodInterceptor; 
import org.aopalliance.intercept.MethodInvocation; 
import org.aspectj.lang.annotation.Around; 
import org.aspectj.lang.annotation.Aspect; 
@Aspect 
public class AopInterceptor implements MethodInterceptor{ 

public AopInterceptor() { 
} 

@Pointcut("execution (* *.*(..))") 
public void profile(){} 

@Around("profile()") 
public Object invoke(MethodInvocation mi) throws Throwable { 
    System.out.println("test start"); 
    Object obj=mi.proceed(); 
    System.out.println("test end"); 
    return obj; 
} 
} 
+0

'[마감]'에 넣지 마십시오 당신의 질문 제목. 감사. –

+0

WAR build.xml 파일에서 대상을 만들고 AspectJ jar 파일을 추가했다. 이제 모든 호출 된 메서드를 가져오고 있습니다. 여기에 더 큰 코드가 있습니다. –

답변

0

WAR build.xml 파일에서 대상을 만들고 AspectJ jar 파일을 추가했습니다. 이제 모든 호출 된 메서드를 가져오고 있습니다. 여기에 targer 코드 :

<taskdef classpath="C:/Users/s.kosna/Downloads/aspectj-1.6.11/lib/aspectjtools.jar" 
resource="org/aspectj/tools/ant/taskdefs/aspectjTaskdefs.properties"/> 
<target name="aspectj"> 
<echo level="info">--- aspectj (start) ---</echo> 
<condition property="targetos" value="windows" else="unix"> 
    <os family="windows"/> 
</condition> 
<pathconvert targetos="${targetos}" property="javac.convertedClasspath" > 
    <path path="${javac.classpath}" /> 
</pathconvert> 
<iajc source="1.6" target="1.6" showweaveinfo="true" verbose="true" destdir="${build.classes.dir}" > 
    <inpath> 
     <pathelement location="${build.classes.dir}"/> 
    </inpath> 
    <classpath> 
     <pathelement location="${javac.convertedClasspath}" /> 
    </classpath> 
</iajc> 
<echo level="info">LORDDOSKIAS BRUTAL TEST ---</echo> 
</target> 

<target name="-post-compile" depends="aspectj"></target> 

가 하나 개의 패키지로 위의 코드를 넣고 그것을 작동합니다 당신 전쟁의 build.xml 그게 전부에 위의 개미 스크립트를 추가는

+0

누구든지이 문제를 마감 할 수 있습니다. –