Untuk tujuan logging, kami mencoba menangkap berbagai pengecualian runtime Spring melalui AOP Spring sendiri dan saya harus mengatakan saya tidak berhasil, jadi saya akan menghargai ide apa pun tentang cara melakukan pendekatan ini.
Saya sudah mencoba sesuatu seperti ini:
@Aspect
@Component
public class SomeAspect {
@AfterThrowing(pointcut = "execution(* org.springframwork.oxm..*(..))", throwing = "exception")
@Transactional(propagation = Propagation.REQUIRES_NEW, isolation = Isolation.READ_COMMITTED)
public void adviseSpringErrorEvents(JoinPoint joinPoint, final UnmarshallingFailureException exception) throws Throwable {
LOG.debug(this.getClass().getSimpleName() + " - Error message advice fired on method: " + joinPoint.getSignature().getName());
}
}
Kelas diproksi otomatis dan saran lainnya di kelas aspek diaktifkan dengan benar, jadi pasti ada masalah dengan ekspresi AspectJ.
PEMBARUAN: Kode di dalam metode tidak berjalan dan bukan maksud saya untuk menangkap pengecualian dalam saran.
Ada ide? Terima kasih sebelumnya.
P.S. Versi kerangka pegas adalah 3.0.6.