Я создал веб-приложение, которое использует реализацию CDI Weld-2.2.0 и работает на Tomcat-7. Я создал перехватчик для вызова методов журнала. Но когда я запускаю приложение, он обходит метод перехватчика и звонков напрямую.Java-перехватчик Java CDI не работает с WELD
My перехватчиков конструктов, как показано ниже:
перехватчик Переплет:
@Inherited
@InterceptorBinding
@Retention(RUNTIME)
@Target({METHOD, TYPE})
public @interface LogMe{
}
перехватчик класса:
@LogMe
@Interceptor
public class LogInterceptorImpl
{
private static final Logger log = LogManager.getLogger(LogInterceptorImpl.class);
@AroundInvoke
public Object intercept(InvocationContext ctx) throws Exception
{
log.debug("LogInterceptor::intercept");
return ctx.proceed();
}
}
перехватчик Цель:
@LogMe
public class DefaultAppController extends AbstractBaseController
{
private static final long serialVersionUID = 1L;
public DefaultAppController()
{
}
@Override @LogMe
public void processRequest(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException
{
resp.getWriter().write("Hello, Guest !");
}
}
И, наконец, у меня есть гр reated beans.xml файл, как показано ниже:
<beans xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
<interceptors>
<class>x.web.interceptors.LogInterceptorImpl</class>
</interceptors>
</beans>
Я также создал сварочную ссылку на ресурс в context.xml файл и файл web.xml (как описан наплавленной документацией.
<Resource name="BeanManager"
auth="Container"
type="javax.enterprise.inject.spi.BeanManager"
factory="org.jboss.weld.resources.ManagerObjectFactory" />
И
<resource-env-ref>
<resource-env-ref-name>BeanManager</resource-env-ref-name>
<resource-env-ref-type>javax.enterprise.inject.spi.BeanManager</resource-env-ref-type>
</resource-env-ref>
Я пробовал много optins в том числе с использованием приварной-поддержка кота баночки для интеграции, но ни один из них не кажется, работают.
Может ли кто-нибудь помочь мне здесь?
У меня пропало или что-то не так?
Можете ли вы опубликовать «полный» web.xml? (полный заголовок XML и вся конфигурация, но не такие, как ваши собственные слушатели, сервлеты и т. д.) – Gimby