Extensões CDI - adicionar interceptores na fase ProcessAnnotatedType

Estou tentando adicionar um interceptador programaticamente. O interceptador é chamado LogginInterceptor e apenas registra o nome do método em que ele é executado. Ao usá-lo com a anotação @Interceptors (LogginInterceptor.class) em um método, tudo funciona bem.

No entanto, estou tentando criar a extensão CDI que adiciona essa anotação @Interceptors (LogginInterceptor) programaticamente a todos os métodos de uma determinada classe (para ser simples). Então, tente, eu criei a classe Hello com alguns métodos. Quando esses métodos são anotados manualmente, o LogginInterceptor funciona e imprime o nome do método. No entanto, meu código para adicionar isso programaticamente por meio de extensões CDI não funciona.

    <T> void processAnnotatedType(@Observes ProcessAnnotatedType<T> pat) {

    if (pat.getAnnotatedType().getJavaClass().equals(Hello.class)) {
        Logger.getLogger("").info("Initial annotations: " + pat.getAnnotatedType().getAnnotations());


        Map<String, Class[]> values = new HashMap<>();
        Class[] classes = {LoggingInterceptor.class};
        values.put("value", classes);
        Interceptors interceptors = AnnotationInstanceProvider.of(Interceptors.class, values);
        AnnotatedTypeBuilder<T> builder = new AnnotatedTypeBuilder<T>().readFromType(pat.getAnnotatedType());

        pat.getAnnotatedType().getMethods().forEach(method -> {
            builder.addToMethod(method, interceptors);
        });

        pat.setAnnotatedType(builder.create());
        Logger.getLogger("").info("Ending annotations: " + pat.getAnnotatedType().getAnnotations());
    }
}

Estou usando o Apache Deltaspike para AnnotationInstanceProvider e AnnotatedTypeBuilder. A anotação é criada, bem como o wrapper AnnotatedType. No entanto, o interceptador não está funcionando.

eu usoWildFly 9.

PS: Eu também notei que as ligações interceptoras não funcionam para mim. Somente a anotação @Interceptors funciona.

Obrigado por qualquer conselho.

questionAnswers(1)

yourAnswerToTheQuestion