Может ли удаленный EJB использовать классы (которые не являются EJB) для использования удаленным клиентом?

Ситуация:

У меня есть проект EJB. Он имеет модель Class, которая содержит бизнес-логику и соединение с базой данных (классы используют JDBC). В рамках одного проекта эти классы используются удаленными EJB-компонентами. Почему? Потому что эти EJB будут использоваться удаленным клиентом через его интерфейсы удаленного доступа.

Проект развертывается в WildFly правильно. Проект EJB сохраняется в базе данных правильно.

Клиент:

Это проект Java. Проблема возникает, когда клиент хочет использовать EJB.

У меня все хорошо настроено: библиотеки jndi.properties, BuildPath, WildFLy и т. Д. Сомнения и ошибки, я думаю, проистекают из спецификаций EJB, которые я нигде не могу найти.

Вопрос заключается в следующем: Может ли EJB использовать классы, которые подключаются к базе данных с использованием JDBC (PreparedStatement, ResultSet и т. Д.), Или мне нужно использовать JPA?

Да возможно, что их могут использовать EJB-компоненты, я не понимаю, почему удаленный клиент не может использовать эти функции.

Надеюсь, мне все ясно. Я не прилагаю код, потому что весь логический код проверен и работает хорошо. Конкретные сомнения выделены жирным шрифтом.

0
задан 09.07.2016, 03:36
1 ответ

Если это EJB deberГ, - чтобы быть записанным, по крайней мере, с @Stateless или @Stateful, что значит, что это EJB. Сейчас об этих EJBs управляли Wildfly внутри контейнер, один из этих мер это сделки.

Сейчас у тебя есть два выбора внутри EJB, чтобы манипулировать сделками:

  • , Управляемый Bean: "@TransactionManagement (TransactionManagementType. BEAN)", что значит, что она conexiГіn ты достаешь ее из контейнера посредством EntityManager (с JPA).
  • Управляя Манипулируемый спорщиком: "@TransactionManagement (TransactionManagementType. КОНТЕЙНЕР)", она conexiГіn ее ты создаешь посредством UserTransaction используя потом JDBC (без JPA).

В двух случаях достает связи из DataSource в твоей конфигурации standalone.xml.

Сейчас tambiГ©n ты можешь создавать связи внутри EJB вручную: с того, чтобы создавать DataSource и весь цикл до того, чтобы реализовывать консультацию и закрывать ее conexiГіn. Все estarГ - во внизу твой контроль и не Wildfly.

0
ответ дан 24.11.2019, 13:52