Sobes.tech
Junior — Middle

Objasnite koncept Interceptor u Javi i u čemu se sastoji njegova svrha

sobes.tech АИ

Одговор од АИ

Interceptor je obrazac za dizajn koji omogućava presretanje poziva metoda, zahteva ili poruka za izvršavanje dodatne logike pre ili posle glavne radnje.

U Javi, Interceptor se često koristi u tehnologijama kao što su Java EE (npr. CDI, EJB), gde se mogu definisati metode koje će se automatski pozivati prilikom poziva poslovnih metoda, za implementaciju funkcionalnosti preseka: logovanje, transakcije, sigurnost, keširanje itd.

Primer jednostavnog Interceptora u Java EE:

@Interceptor
public class LoggingInterceptor {
    @AroundInvoke
    public Object logMethod(InvocationContext ctx) throws Exception {
        System.out.println("Poziv metode: " + ctx.getMethod().getName());
        Object result = ctx.proceed(); // poziv ciljne metode
        System.out.println("Metoda izvršena");
        return result;
    }
}

Svrha Interceptora je da odvoji pomoćnu logiku od glavne, poveća modularnost i ponovnu upotrebu koda.