• Skip to primary navigation
  • Skip to content

Mauda

IT, Java and Music

Graduação   SCJP   Mestrado
  • Apresentação
  • Certificação Java
  • JPA
    • Exceptions
  • JSF
  • Versionamento
  • Contato

CDI – Erro – WELD-001417 – Enabled interceptor

December 17, 2018 by Mauda Leave a Comment

Conteúdo do Post:
  1. Descrição do Erro
  2. Solução
  3. finally{

Olá Pessoal, tudo bom?

Hoje iremos falar sobre o erro WELD-001417 ou quando a classe interceptor não foi anotada corretamente. Veja na continuação

Descrição do Erro

Quando estamos criando um interceptor existem algumas annotations que devem ser colocadas. Uma delas é a @Interceptor que caso não seja colocada gerará uma exception.  Vamos supor o código abaixo:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
package br.com.mauda.seminario.cientificos.interceptor;
 
import javax.interceptor.AroundInvoke;
import javax.interceptor.InvocationContext;
 
@Cronometro
public class CronometroInterceptor {
 
    @AroundInvoke
    public Object intercept(InvocationContext ctx) throws Exception {
        return ctx.proceed();
    }
}

Como não está declarado a @Interceptor na classe, ocorrerá a exception com a seguinte stack trace:

Caused by: org.jboss.weld.exceptions.DeploymentException: WELD-001417: Enabled interceptor class br.com.mauda.seminario.cientificos.interceptor.CronometroInterceptor (<class>br.com.mauda.seminario.cientificos.interceptor.CronometroInterceptor</class> in file:/seminarioscientificos/cientificos/target/classes/META-INF/beans.xml@8) does not match an interceptor bean: the class is not found, or not annotated with @Interceptor and still not registered through a portable extension, or not annotated with @Dependent inside an implicit bean archive
at org.jboss.weld.bootstrap.Validator.validateEnabledInterceptorClasses(Validator.java:644)
at org.jboss.weld.bootstrap.Validator.validateDeployment(Validator.java:464)
at org.jboss.weld.bootstrap.WeldStartup.validateBeans(WeldStartup.java:478)
at org.jboss.weld.bootstrap.WeldBootstrap.validateBeans(WeldBootstrap.java:90)
at org.jboss.weld.environment.se.Weld.initialize(Weld.java:787)
at br.com.mauda.seminario.cientificos.util.WeldContext.<init>(WeldContext.java:11)
at br.com.mauda.seminario.cientificos.util.WeldContext.<clinit>(WeldContext.java:8)
… 47 more

Solução

Uma solução para esse problema é inserir a annotation @Interceptor, junto com seu import conforme o código abaixo:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package br.com.mauda.seminario.cientificos.interceptor;
 
import javax.interceptor.AroundInvoke;
import javax.interceptor.Interceptor;
import javax.interceptor.InvocationContext;
 
@Interceptor
@Cronometro
public class CronometroInterceptor {
 
    @AroundInvoke
    public Object intercept(InvocationContext ctx) throws Exception {
        return ctx.proceed();
    }
}

 

finally{

Caso você achou mais alguma solução para essa exception, por favor deixe nos comentários abaixo!

Duvidas ou sugestões? Deixe seu feedback! Isso ajuda a saber a sua opinião sobre os artigos e melhorá-los para o futuro! Isso é muito importante!

Até um próximo post!

Filed Under: CDI, Java Tagged With: cdi, interceptor, WELD-001417

About Mauda

Mestre em Informática, Analista de Sistemas, Professor, SCJP e Baterista. Desde 2002 trabalhando no mundo Java e ensinando pessoas sobre desenvolvimento de sistemas. Mais informações

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Advertisements

Copyright © 2025 · Genesis Framework · WordPress · Log in