Недопустимый EJB, использующий интерфейсы из внешнего Jar-файла в @local - Аннотация - PullRequest
1 голос
/ 10 февраля 2012

в качестве сервера приложений Я использую GlassFish для создания моего нового приложения Java EE 6.

У меня есть два проекта в моей рабочей области, соответственно.на одном сервере.

Первый - это чистый EJB-проект, включающий некоторые EJB-компоненты с локальным и удаленным доступом.(Я использую @ remote и @ local в EJB. Интерфейсы остаются pure .)

Второй - это веб-проект, пытающийсяподключите один из EJB-компонентов из первого модуля, используя InitialContext-lookup.В связи с тем, что оба модуля находятся на одном сервере, я использую локальный интерфейс для связи.Я бросил полученный объект (после поиска) в «Объект», и он работал нормально.Но как простой объект: бесполезный.

Чтобы получить правильный EJB-экземпляр, я извлек интерфейсы (локальный и удаленный) EJB во внешний jar-файл и добавил его в оба модуля.В результате мои EJB-компоненты больше не могут быть развернуты, потому что новые версии сборки кажутся недействительными.

Есть ли в EJB аннотации с @remote и @local с интерфейсами, хранящимися во внешнем jar-файле?

Спасибо за вашу помощь: -)

РЕДАКТИРОВАТЬ:

EJB выглядит следующим образом:

import javax.ejb.Local;
import javax.ejb.Remote;
import javax.ejb.Stateless;

import de.myapp.business.user.facade.UserServiceFacadeLocal;
import de.myapp.business.user.facade.UserServiceFacadeRemote;

@Stateless
@Remote(value=UserServiceFacadeRemote.class)
@Local(value=UserServiceFacadeLocal.class)
public class UserServiceFacade implements UserServiceFacadeLocal, UserServiceFacadeRemote
{ ... }

Ошибка при публикации:

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

В server.log говорится следующее:

ИНФОРМАЦИЯ: Пользователь [admin] с хоста 127.0.0.1 не имеет прав администратора
WARNUNG: ошибкав обработке аннотации: java.lang.NoClassDefFoundError: de / myapp / business / user / фасад / UserServiceFacadeLocal
SCHWERWIEGEND: исключение при развертывании приложения [bacchusBusiness] SCHWERWIEGEND: недопустимый ejb jar [itchB].

Импорт работает хорошо.Нет ошибок, нет исключений.Но если сервер не может найти интерфейсы, EJB может показаться неправильным.

...