Поддерживает ли JPA дополнительные единицы измерения продолжительности и, если да, как это настроить?Опциональный блок сохранения в JPA (при использовании нескольких единиц хранения)
У меня есть одна единица сохранения, которая является моей основной базой данных.
Затем я настроил еще один, где я только что прочитал объекты из базы данных, чтобы выполнить некоторые проверки. Чтобы избежать беспорядка с транзакциями в нескольких источниках данных, я устанавливаю второй источник данных jta="false"
.
Но мне нравится проверять, был ли вообще определен второй источник данных и использовать его только в том случае, если он есть. Если он не определен, я бы просто пропустил мои проверки.
Проблема в том, что я не могу найти способ сделать это необязательным. Если второй источник данных не настроен я получаю сообщение об ошибке New missing/unsatisfied dependencies
от сканера развертывания в Jboss при развертывании моя война:
service jboss.naming.context.java.secondDatasource (missing) dependents: [service jboss.persistenceunit."de.my.war#secondDatasource"]
(BTW: Я использую JBoss 7.1.0 и настроил источники данных в standard.xml - если эта информация имеет какое-либо значение.)
Любые подсказки?
спасибо за идею. Я думаю, что это уже происходит, когда обрабатывается мой 'persistence.xml'. Но я проверю это ... – Jens
Конечно, но так вы даже не должны объявлять второй источник данных в 'persistence.xml'! –
@ Balzás Mária Németh: Извините за мой отложенный ответ на этот вопрос. Я попробовал ваше решение о создании «EntityManager» самостоятельно, если через JNDI найден «источник данных». Но: я не знаю, как установить найденный «источник данных» на моем самосоздаваемом «EntityManager» или. 'EntityManagerFactory'. Он принимает только свойства, чтобы их создать. Но у меня есть 'datasouce' под рукой. Я думал о том, чтобы отображать все необходимые свойства самостоятельно, но пароль - это то, что я не могу найти в 'datasource'. Есть ли способ позволить созданному 'EntityManager' использовать мой' datasource'? – Jens