Проблема с перехватчиком в Java EE7

Я тестирую /переключаюсь на Java EE7 (Glassfish 4), и одна из проблем, с которыми я сталкиваюсь, связана с перехватчиками, каждый раз, когда я пытаюсь запустить проект, я получаю следующую ошибку.

  

SEVERE: исключение при загрузке приложения: развертывание CDI   ошибка: WELD-001417 Включен класс перехватчика   com.xxxxxx.security.SecuredInterceptor в   файл: /home/xxxxxx/xxxxxx/target/xxxxxx/WEB-INF/[email protected] не является   аннотирован @Interceptor и не зарегистрирован через переносимое расширение

Я смотрю на раздел 1.3.6 спецификации CDI 1.1, похоже, что ничего не изменилось, так что я делаю не так?

Вот код, который я использую;

@InterceptorBinding
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE, ElementType.METHOD})
public @interface Secured {}

@Secured
@Interceptor
public class SecuredInterceptor implements Serializable
{
    @AroundInvoke
    public Object interceptSecured(InvocationContext ic) throws Exception
    {
        // Do Stuff
    }
}

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd"
       bean-discovery-mode="annotated">
    <interceptors>
        <class>com.xxxxxx.security.SecuredInterceptor</class>
    </interceptors>
</beans>
7 голосов | спросил Mark-K 23 J0000006Europe/Moscow 2013, 11:39:55

2 ответа


0

Из раздела 12.1 спецификации CDI.

  

В архиве bean-компонента, содержащем файл beans.xml без версии, по умолчанию установлен режим обнаружения bean-компонентов.

В вашей версии 1.1 beans.xml есть bean-discovery-mode="annotated". Измените beans.xml на bean-discovery-mode="all", и я предполагаю, что он будет работать так же, как и при удалении версии из beans.xml и использовании старое пространство имен, как в CDI 1.0.

ответил Ian Evans 10 J000000Wednesday13 2013, 10:02:44
0

Кажется, это ошибка Glassfish, связанная с версией 1.1 файла beans.xml

https://java.net/jira/browse/GLASSFISH-20667

ответил Mark-K 2 J000000Tuesday13 2013, 10:01:15

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132