1

この状況で二重ログインを回避するにはどうすればよいですか?

@AfterThrowing(pointcut="execution(String greeting(..))",throwing="e")
public void itsAFoo1(JoinPoint joinPoint, RemoteException e) {
    logger.error(joinPoint.getSignature().toLongString() + " exception here!");
}

@After("execution(String greeting(..))")
public void itsAFoo2(JoinPoint joinPoint, RemoteException e) {
    logger.error(joinPoint.getSignature().toLongString());
}

2 つのログを取得しました。

[2012-08-07 17:02:01,585] [request1344351718430] [public java.lang.String componentC.Hello.greeting(java.lang.String) exception here!]
[2012-08-07 17:02:01,585] [request1344351718430] [public java.lang.String componentC.Hello.greeting(java.lang.String)]

ただし、例外があった場合は 1 つ、そうでない場合は 1 つを受け取る必要があります。

4

1 に答える 1

2

@Afterを@AfterReturningに変更します

@AfterReturning("execution(String greeting(..))")
public void itsAFoo2(JoinPoint joinPoint, RemoteException e) {
    logger.error(joinPoint.getSignature().toLongString());
}
于 2012-08-08T07:22:54.850 に答える