Jboss 6: как иметь несколько версий одного и того же уха с источником данных - PullRequest
1 голос
/ 20 декабря 2011

У меня есть ухо, которое использует источник данных (для единицы сохраняемости JPA).Теперь мне нужно развернуть несколько версий этого уха в одном и том же jboss, каждая из которых указывает на отдельную базу данных.

Как с этим справиться.

Я видел, что этого недостаточно для развертыванияXML-файл источника данных внутри уха, с различными параметрами в каждом ухе (jdbc url / user / password), поскольку источник данных имеет глобальную область видимости и будет использоваться всеми ушами.

Нужно ли использовать другойимя источника данных для каждого уха и для изменения файла persistence.xml для каждого развертывания?Разве нет другого варианта?

Я использую JBoss 6.

Редактировать: Некоторые подробности Как я уже сказал, источник данных используется для единицы персистентности JPA, но я не упомянул, что один и тот же источник данных используется непосредственно внутри нескольких классов, которым требуется прямой доступ к jdbc.Поэтому изменение имени источника данных не является хорошим вариантом.

1 Ответ

0 голосов
/ 20 декабря 2011

Я думаю, что нет никакой возможности сделать это. JBoss AS всегда определяет источники данных по всему миру. Теоретически в application.xml может быть элемент @DataSourceDefinition или data-source, который можно определить в приложении.

К сожалению, этот, похоже, вообще не работает в JBoss AS 6, и даже если он будет работать, Джайкиран Пай заявил, что такой источник данных в любом случае не разрешается использовать для модуля персистентности.

См. http://community.jboss.org/thread/161032 и https://issues.jboss.org/browse/JBAS-8816

Но если вы уже помещаете различные файлы *-ds.xml в каждый EAR, то было бы неплохо также разместить в каждом из них отдельный файл persistence.xml, не так ли? По крайней мере, у вас есть косвенность, которую предлагает вам единица постоянства. Было бы хуже, если бы имя источника данных использовалось непосредственно во многих местах внутри EAR.

Вероятно, это не вариант, но на всякий случай GlassFish позволяет разрешать применение встроенных источников данных.

Если вы заинтересованы в этой функции для JBoss AS, вы можете выразить это здесь: http://community.jboss.org/message/642506

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...