Где правильно развернуть EJB-client.jar и EJB-impl в Wildfly?

я новичок в Java EE, и я реализовал простой EJB-модуль с удаленным интерфейсом, который я хочу развернуть на Wildfly 10. В pom.xml модуля EJB я зарегистрировал это для создания:

  1. ProcessApplicationEJBs-1.0-client.jar
  2. ProcessApplicationEJBs-1.0.jar

На Wildfly-Server есть другие развернутые приложения, которые должны использовать этот ejb. Для меня важно, чтобы это приложение использовало клиентские классы (скрывая полную реализацию). Мои вопросы:

  1. Где я должен развернуть ProcessApplicationEJBs-1.0-client.jar? Я планировал зарегистрировать его как новый модуль в Wildfly. Это правильно?
  2. Где я должен развернуть реализацию ProcessApplicationEJBs-1.0.jar. Как модуль или в обычной папке развертываний? Я не хочу, чтобы другие развернутые приложения могли видеть конкретную реализацию, но серверу потребуются конкретные реализации для предоставления службы EJB. У меня тут недопонимание? Каким был бы общий способ заставить это работать чистым способом?

Буду очень признателен за вашу помощь!


person Andy    schedule 26.08.2016    source источник


Ответы (1)


Вы можете создать новый модуль для WildFly и добавить зависимость в свое приложение. Или добавьте зависимость maven в свой проект, чтобы клиент включил *-client.jar в другое приложение, которое будет развернуто вместе.

Преимуществом модуля является загрузка класса, если вы используете локальные вызовы (вызов по ссылке), второй вариант может завершиться ошибкой, если вы разделяете классы из -client.jar из-за разных загрузчиков классов. Преимущество добавления его в развертывание заключается в том, что вы можете изменить интерфейс без перезапуска сервера или создания нового модуля.

person wfink    schedule 26.08.2016