Как сделать имена JNDI совместимыми как с GlassFish, так и с WildFly

Я занимаюсь разработкой приложения Java EE 7, и у меня есть требование, чтобы приложение было развернуто на серверах приложений, работающих под управлением GlassFish 4.0 или WildFly 8.1.0. У меня проблема в том, что GlassFish и WildFly используют несколько разные форматы для имен JNDI, но я не вижу, как сделать мое приложение совместимым с обоими.

В GlassFish мой файл persistence.xml ссылается на источник данных jdbc /myDataSouce, но в WildFly источником данных должен быть java: /jdbc /myDataSource.

То же самое относится и к классам, аннотированным @Resource. В GlassFish аннотацией для класса, использующего JavaMail, будет @Resource (name = "mail /myMailSession"), но для развертывания в WildFly это будет @Resource (name = "java: mail /myMailSession"). >

Я знаю, что могу распаковать файлы EAR и JAR, чтобы вручную редактировать файлы, такие как persistence.xml, но я не могу сделать это для классов, помеченных @Resource.

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

Кто-нибудь может указать мне правильное направление, пожалуйста?

7 голосов | спросил Paul H 19 +04002014-10-19T17:43:39+04:00312014bEurope/MoscowSun, 19 Oct 2014 17:43:39 +0400 2014, 17:43:39

0 ответов


Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132