Java CDI拦截器仅在使用Jrebel时工作

Java CDI拦截器仅在使用Jrebel时工作,java,glassfish,cdi,interceptor,jrebel,Java,Glassfish,Cdi,Interceptor,Jrebel,我遇到CDI拦截器绑定问题,我无法找出问题所在 当我使用Eclipse开发时,只有在JRebel代理处于活动状态的情况下,拦截器才能正常工作,但是当我在同一个glassfish安装中部署同一个应用程序时,这一次是使用asadmin命令的EAR文件,拦截器被完全忽略。当我关闭jrebel代理时也会发生同样的情况 我将Glassfish 3.1.2.2与Weld 1.1.11和JDK 1.6一起使用 我的应用程序是一个多模块maven项目,如: APP \--MODULE-EJB1 (annota

我遇到CDI拦截器绑定问题,我无法找出问题所在

当我使用Eclipse开发时,只有在JRebel代理处于活动状态的情况下,拦截器才能正常工作,但是当我在同一个glassfish安装中部署同一个应用程序时,这一次是使用asadmin命令的EAR文件,拦截器被完全忽略。当我关闭jrebel代理时也会发生同样的情况

我将Glassfish 3.1.2.2与Weld 1.1.11和JDK 1.6一起使用

我的应用程序是一个多模块maven项目,如:

APP
 \--MODULE-EJB1 (annotation and interceptor resides here.)
    \--META-INF\beans.xml (with interceptor declaration)
 \--MODULE-EJB2
    \--META-INF\beans.xml (empty one)
 \--MODULE-JAR
    \--META-INF\beans.xml (empty one)
 \--MODULE-WAR
    \--WEB-INF\beans.xml (empty one)
 \--MODULE-EAR
我的注解:

@InterceptorBinding
@Target({ TYPE, METHOD })
@Retention(RUNTIME)
public @interface Audited {
}
我的拦截器类:

@Audited
@Interceptor
public class AuditInterceptor implements Serializable {
   [...]
}
我截取的方法:

@Override
@Audited
public E save(E model) throws SGIException, ConstraintViolationException {
   [...]
}
My beans.xml文件:

<?xml version="1.0"?>
<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://jboss.org/schema/cdi/beans_1_0.xsd" >
    <interceptors>
        <class>pkg.interceptor.AuditInterceptor</class>
    </interceptors>
</beans>

<!-- empty one -->
<?xml version="1.0"?>
<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://jboss.org/schema/cdi/beans_1_0.xsd" />

包装拦截机
我希望我提供了一切重要的东西


提前感谢您的帮助,这是应用程序中非常关键的一部分。

Glassfish从第一天起就遇到了拦截器正确启用的问题。我不知道他们是否已经修好了。目前,让它工作的唯一方法是继续取消部署和重新部署,直到它们最终工作:(

有没有一种方法可以在部署应用程序后立即发现此类问题,而不运行我的应用程序?不幸的是,我所知没有一种方法。