2016-10-19 4 views
0

У меня есть классы:перехватчик не вызывая и не видно (в журналах, во время развертываний ничего см)

import javax.inject.Inject; 
import javax.interceptor.AroundInvoke; 
import javax.interceptor.InvocationContext; 

public class AccessReportInterceptor { 
    private Logger log = Logger.getLogger(AccessReportInterceptor.class);  

    @Inject 
    private AccessReportManager accessReportManager; 

    @AroundInvoke 
    public Object intercept(InvocationContext context) throws Exception { 
     log.info("invoked"); 
     return context.proceed(); 
    } 
} 

@Stateless 
@Remote(ActionTypeHandlerRemote.class) 
public class ActionTypeHandler implements ActionTypeHandlerRemote{ 
@EJB protected DataManager dataManager; 
@Interceptors({AccessReportInterceptor.class}) 
    private void persistNewUser(User newUser){ 
     logger.info("Persisting new user: " + newUser.getLogin()); 
     logger.info("For : " + newUser.getName()); 
     newUser.setCreateTime(new Date()); 
     dataManager.persist(newUser); 
    } 

    @Interceptors({AccessReportInterceptor.class}) 
    private void mergeUser(User user){ 
     logger.info("Merging user with id: " + user.getLogin()); 
     user.setCreateTime(new Date()); 
     dataManager.merge(user); 
    } 
} 

И когда я вызывается метод persistNewUser или mergeUser затем следует (до вызова данного метода) запускается перехватчик ,

Похоже, что он игнорирует перехватчик.

Почему это не работает? Что я делаю неправильно?

+0

Как вы используете эти частные методы? –

ответ

1

Просьба сделать ваши методы общедоступными, частные методы не будут перехвачены.

Смежные вопросы