JDO с Java EE 6 (CDI и JTA?) - PullRequest
       10

JDO с Java EE 6 (CDI и JTA?)

2 голосов
/ 04 августа 2011

Я прошу прощения, если это очевидный вопрос, но я читаю учебник по Java EE 6, читая пару книг, и мне становится трудно сопоставлять всю информацию.

Я делаюнебольшое сравнение между JDO и JPA.Я понимаю, что с JPA и сервером приложений я могу довольно легко сказать что-то вроде:

@Stateless
public class MyEJB {

  @PersistenceContext
  private EntityManager em;

  // methods that use the JPA entity manager...
}

Затем, используя свои собственные методы, я могу использовать em, чтобы попасть в JPA EntityManager.Какие бы методы я ни написал, (по умолчанию) они автоматически создадут или присоединятся к существующей транзакции.

Я бы очень хотел повеселиться с JDO.Я подозреваю, что правильный ответ - использовать CDI.Хотя я не уверен, как это будет выглядеть, может быть, так?

@Stateless
public class MyEJB {

  @Resource
  private PersistenceManager em;

  // methods that use the JDO persistence manager...
}

Но эта догадка оставляет мне больше вопросов, чем ответов.

  1. Как мне сказать Glassfish иликаким бы ни был мой сервер приложений Java EE 6, как создать PersistenceManagerFactory и как использовать его для генерации PersistenceManager для меня?
  2. Нужно ли делать что-то особенное для достижения JTA?Я хотел бы использовать транзакции, управляемые контейнером, если это возможно.
  3. Можно ли настроить это на использование JNDI для обнаружения моего соединения JDBC?
  4. Существуют ли магические файлы, которые должны существовать, чтобы вызватьповедение я хочу?(Я смотрю на вас, пустой файл persistence.xml)

Помимо наложения зависимости от JDO и, возможно, непосредственно от DataNucleus, я бы предпочел сохранить это как Java EE 6, насколько это возможно, без привлечения Spring илидругие сторонние библиотеки, но я бы взял стороннюю библиотеку ни за что.

Спасибо!

1 Ответ

1 голос
/ 04 августа 2011

http://www.datanucleus.org/products/accessplatform_3_0/jdo/j2ee.html охватывает многие аспекты Java EE и приводит примеры для нескольких серверов Java EE, включая JBoss 7 (последняя спецификация).Это вклад усилий, так как никто не использует все такие серверы;если у вас есть детали для добавления, то опубликуйте их на форуме DataNucleus, и они могут быть включены

...