Поддерживают ли @Service JBoss EJB транзакции поддержки? - PullRequest
2 голосов
/ 21 января 2012

Кто-нибудь знает, поддерживает ли JBoss @Service EJB транзакции поддержки? Я хотел бы работать с EntityManager, но получаю сообщение об ошибке «EntityManager должен использоваться в транзакции». Явное указание управляемых контейнером транзакций и ТРЕБУЕМЫХ транзакций на EJB не имеет значения.

Спасибо.

Обновление

Вот код, который я использую для получения EntityManager:

   @PersistenceContext(unitName = "MyPersistenceContextName")
   private EntityManager m_entityManager;

А вот код, который не удался:

  m_entityManager.persist( objectToSave);
  m_entityManager.flush();

Не удалось в первой строке.

1 Ответ

1 голос
/ 03 июня 2012

Применив аннотацию @Service, он установит bean-компонент на сервер MBean с определенным именем, который запускается на другом загрузчике классов, а ваше приложение - на другом. Следовательно, это может быть причиной того, что MBean не поддерживает транзакции и не может получить доступ к контексту.

Вместо того, чтобы взаимодействовать с базой данных через MBean, вы можете делегировать его другому EJB-компоненту, к которому можно обратиться через поиск JNDI.

...