в качестве сервера приложений Я использую 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 может показаться неправильным.