2016-08-26 15 views
0

Spring @Before Aspectの結果に基づいてメソッドの実行をブロックする必要があります。 Spring AOPサポートを使用してこれを実現できる方法はありますか?下記のSpring Aspect Oriented Programming

は私のSpring構成である:

<aop:config> 
    <aop:aspect id="icpt_da" ref="inboundWSRequestInterceptor"> 
    <aop:before method="interceptDataArrived" pointcut="execution(* com.emeter.ami.openway.delegate.MeterDataSubscriberServiceDelegate.dataArrived(..)) and args(dataArrivedDocument)" /> 
    </aop:aspect> 

私の意図は、メソッドの実行を避けるためです態様の結果に基づいてMeterDataSubscriberServiceDelegate.dataArrived "inboundWSRequestInterceptor"

おかげ Hitesh

+0

ブールフラグを設定します。 ...といくつかのことを行うif(!flag){} –

+0

こんにちは私はそれをprogrammaticalyしたいとは思わない。それが事実だったなら、私は質問しなかったでしょう:)。私の意図は、Spring AOPを通じてこれを達成することです。 – Hitesh

答えて

0

@Beforeの使用を強制されていない場合は、@Aroundを使用できます。 dviceおよび方法の内のあなたの検証を作るよりも - それの結果に基づいて、より進んで呼び出すかどうか:@Aroundの詳細については

if(verificataionPassed){ 
    joinPoint.proceed(); 
} 

を使用すると、例えば見ることができます - here

関連する問題