Seam – Interceptor ler
Tanımı @Interceptor ile yapabiliriz. Burada @AroundInvoke ile tanımlanan metod aspect in çağırıldığı yerdir. Buna göre invocation.proceed() metodunda çağırımı gerçekleşiyor. Bu arada metod başlangıç ve bitişinde geçen süreyi alıp diğer bilgilerle birlikte yazdırıyoruz. Bunun haricinde around ile interceptor un hangi interceptor lerden sonra çalışacağınu belirtiyoruz.
Peki bu interceptor ün ne zaman çalışacağını nerede belirleyeceğiz ? Bunu yapmak için bir kaç yöntem var.
Birincisi aşağıdaki gibi bir annotation ile belirli sınıfların dinlenmesini sağlayabiliriz.
Örnek verilirsede aşağıdaki gibi bir component içerisinde interceptor ün devreye girilmesi sağlanabilir. Bu durumda siparisHome içerisindeki metodların çağırımlarında interceptor devreye girecektir.
Peki tüm component ler için interceptor ün devreye girmesi istenirse ? Bu durumda component.xml içerisinde aşağıdaki gibi tanım yapılabilir.

Güzel bir yazı. Klavyenize sağlık…
Eyvallah hocam sagolasin :)