2011-07-26 11 views
1
私はJSF IUComponentsへのすべてのコールを傍受しようとしている

では動作しませんが、これは動作しません:私はポイントカットを変更するときAOP @AroundはJSF +春

@Pointcut("execution(* javax.faces.component.UIComponent+.encode*(..))") 
    private void interceptor() { } 

@Around("interceptor()") 
public void aroundMethod(ProceedingJoinPoint joinPoint) { 
    System.out.println("******** Hello from Interceptor Method! **********"); 
} 

しかし、これは完璧に動作します:

@Pointcut("execution(* com.hsa.business.*.*(..))") 
    private void interceptor() { } 

@Around("interceptor()") 
public void aroundMethod(ProceedingJoinPoint joinPoint) { 
    System.out.println("******** Hello from Interceptor Method! **********"); 
} 

これは、XMLの私の明らかな情報である:

<bean id="dummyAspect" class="com.hsa.security.aspectj.JSFComponentSecurityAspect" /> 
<aop:aspectj-autoproxy /> 

と:

<application> 
<el-resolver>org.springframework.web.jsf.el.SpringBeanFacesELResolver</elresolver> 
</application> 

何か助けてください...?

答えて

1

AOPの自動プロキシとアスペクトと同じSpringコンテキストでjavax.faces.component.UIComponentに割り当てることができるタイプのSpring Beanがないことが予想されるため、何も起こっていません。 Springはコンテキストを開始すると、コンテキスト内のすべてのBeanをINFOレベルでログに記録します。あなたの "dummyAspect"が入っているコンテキストをチェックし、UIコンポーネントがそこにあるかどうかを確認してください。