2009-06-08 2 views
2

У меня есть EJB в Weblogic 10.3, который имеет собственную EJB-перехватчик, определенный для него, как, например:EJB перехватчики в Weblogic

@Stateless(name="MyEJB") 
@Interceptors ({AuditInterceptor.class}) 
public class MyEJBImpl extends BaseEJB implements MyEJB 

Похоже, если совет перехватчика только применяются к определенным методам в EJB. Я использую аннотацию @AroundInvoke в перехватчике. Любые идеи относительно того, почему это произойдет?

+0

Можете ли вы дать немного больше информации о том, какие методы не перехватываются? Методы, вызванные другими методами и т. Д. – mtpettyp

ответ

2

Это на самом деле кажется ошибкой в ​​Weblogic 10.3. Что происходит в интерфейсе MyEJB, некоторые методы в нем были перехвачены, но этот интерфейс расширяет другой интерфейс, и методы, которые были определены в супер интерфейсе, не были перехвачены. Я переместил все определения методов в интерфейс MyEJB и удалил наследование интерфейса, и теперь все методы перехватываются, как ожидалось.