Предпочтительный метод создания источника данных JPA в Tomee

Будучи новичком в Tomee 2.0, я пытался исследовать, как создать источник данных, который можно было бы внедрить в ejb как @persistencecontext. Иногда трудно понять, какие решения устарели и больше не работают; но я нашел предложения с использованием server.xml (определенно устаревшего; кроме, может быть, с globalNamingResources), context.xml, tomee.xml, resources.xml, openejb.xml. Есть ли у кого-нибудь пример определения источника данных, который затем будет автоматически искать с использованием источника jta-данных persistence.xml. Если это имеет значение, я буду использовать bean-компоненты, управляемые контейнером, с использованием JPA и SQL-сервера XAdatasource. Спасибо за любую помощь, которую вы можете предоставить.


person mlb1141    schedule 02.07.2015    source источник


Ответы (1)


Возможно, вам стоит заглянуть на официальный веб-сайт Tomee, где есть несколько примеров кода, которые работают «из коробки». Например, вы можете внедрить экземпляр EntityManager через @PersistenceContext следующим образом:

Внедрение EntityManager

Если вы хотите использовать DataSource напрямую, вам следует взглянуть на этот пример:

Внедрение источника данных

/**
 * The field name "movieDatabase" matches the DataSource we
 * configure in the TestCase via :
 * p.put("movieDatabase", "new://Resource?type=DataSource");
 * <p/>
 * This would also match an equivalent delcaration in an openejb.xml:
 * <Resource id="movieDatabase" type="DataSource"/>
 * <p/>
 * If you'd like the freedom to change the field name without
 * impact on your configuration you can set the "name" attribute
 * of the @Resource annotation to "movieDatabase" instead.
 */
@Resource
private DataSource movieDatabase;

В этом примере, как вы можете видеть выше, упоминается openejb.xml.

Надеюсь, это поможет найти недостающие части. (комментарии приветствуются)

person MWiesner    schedule 20.07.2015