Как я могу проверить EJB с помощью NetBeans? - PullRequest
1 голос
/ 20 августа 2010

Я изо всех сил пытался протестировать супер простой EJB-проект в NetBeans. Я попробовал несколько примеров из моей книги по Java, и еще более простой пример, который я нашел в Интернете (http://javadude.wordpress.com/2010/02/22/tutorial-most-simple-test-application-for-embedded-glassfish-netbeans-hudson/)., это супер базовый EJB, который только добавляет два числа ... вот и все !!, он работает нормально, но неважно Как я пытаюсь это проверить, ничего не работает. Еще более удивительно, я получаю две разные ошибки на двух разных ноутбуках, на которых я тестирую. Очевидно, я делаю что-то очень неправильно ... любой совет был бы таким оценили.

одна ошибка, которую я получаю:

Testcase: testAddNumbers (bean.MyBeanTest): вызвано ОШИБКА Поставщик EJBContainer недоступен: имена поставщиков не найдены.

javax.ejb.EJBException: поставщик EJBContainer недоступен: имена поставщиков не найдены.

, а другой:


SEVERE: исключение при развертывании приложения java.lang.IllegalArgumentException: недопустимый ejb jar [WebTestEmb.jar]: он содержит нулевой ejb. Замечания: 1. Для действительного ejb jar требуется как минимум один сеанс, объект (стиль 1.x / 2.x) или управляемый сообщениями компонент. 2. EJB3 + объектные бины (@Entity) являются POJO, и, пожалуйста, упакуйте их как библиотечный jar. 3. Если файл JAR содержит действительные EJB-компоненты, аннотированные аннотациями на уровне компонентов EJB (@Stateless, @Stateful, @MessageDriven, @Singleton), пожалуйста, проверьте server.log, чтобы увидеть, были ли аннотации обработаны правильно.


ясно, у меня есть ejb в моем проекте. он построен точно так же, как и в указаниях на URL, который я разместил выше.

спасибо!

Ответы [ 3 ]

1 голос
/ 22 августа 2010

Я пытался протестировать супер простой EJB-проект в netbeans. Я попробовал несколько примеров из моей книги по Java, и еще более простой пример, который я нашел в Интернете

Использование EJBContainer API (для запуска контейнера Embedded EJB в ваших тестах) - это путь в Java EE 6 (об этом Адам Бьен написал в блоге Встраивание контейнера EJB 3.1 в свои модульные тесты - время загрузки : 5 секунд ).

При этом вам могут быть интересны следующие ссылки:

Какую версию GlassFish вы используете? Если вы не используете последнюю версию 3.0.1, я рекомендую попробовать.

0 голосов
/ 25 августа 2010

Независимо от того, что я пишу для свойства для EJBContainer.MODULES, оно просто не хочет работать.Также этот модуль обходной путь просто взлома.Я не думаю, что это должно работать таким образом.Пока это не будет исправлено в Glassfish, я попробую OpenEJB.

Я немного разочарован, хотя сейчас у Glassfish.Они говорят, что все работает из коробки, и это просто не тот случай.Там нет опций для установки, и сообщения об ошибках ничего не говорят ...

0 голосов
/ 24 августа 2010

Не бери в голову, похоже, я наконец-то заработал. я не могу поверить, что потребовалась неделя, чтобы понять!

добавление:

Свойства карты = new HashMap (); properties.put (EJBContainer.MODULES, новый файл ("C: \ Documents and Settings \ tiv \ Мои документы \ NetBeansProjects \ WebTestEmb \ build \ web \ WEB-INF \ classes"));

, а затем использование этих свойств в вызове createEJBContainer () исправляет ошибку.

...