![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| ki6opr |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 20.12.2006 Репутация: нет Всего: нет |
Dependency Injection через @Resource (javax.annotation.Resource)
есть у нее две проперти name и mappedName первая указывает на логическое имя ресурса, а вторая на сам путь к ресурсу причем installation-dependent (который отличается от сервера к серверу) поэтому можно написать специфичный для сервера дескриптор развертывания в котором собствено и хранить jndi путь к ресурсу именно для этого типа сервера (и вот тут у меня просто взрыв мозга) есть код:
есть sun-ejb.jar (для семейства AS Sun)
а в итоге получаю только NamingException что данные ресурс не найден, хотя он есть, причем почему то только на саму очередь, на фабрику не ругаеться. С mappedName="jms/MailQueue" для Glassfish и "queue/MailQueue" для Jboss инжектится и вполне себе отлично работает. Пробывал как name так и mappedName, вывод: что то я серьезно не понимаю... Подскажите пожалуйста кто-нибудь что у меня с лыжами |
||||
|
|||||
| dobrolub |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 385 Регистрация: 18.12.2009 Где: Vancouver, Canada Репутация: 4 Всего: 16 |
У меня не богатый опыт с Sunовским AS, но советую проверить через консоль администрирования создаётся ли требуемая очередь с именем jms/MailQueue.
|
|||
|
||||
| ki6opr |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 20.12.2006 Репутация: нет Всего: нет |
создается, я же написал что если просто поставить mappedName и в ней прописать специфичный для Glassfish или Jboss Jndi путь то ресурс заинжектится как мне кажется я упускаю какую то важную деталь именно в конфигах / аннотации из чего не работает ни в Glassfish ни в Jboss эта фича с логическим именем |
|||
|
||||
| ki6opr |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 20.12.2006 Репутация: нет Всего: нет |
так ну как минимум я оказался не прав используя просто resource-ref вместо resource-env-ref для дескриптора Glassfish
вкратце суть в том, что resource-ref игнорирует resource-ref для JMS ConnectionFactories а для JMSQueue нужно еще обязательно указывать логин/пароль Это сообщение отредактировал(а) ki6opr - 12.4.2010, 09:34 |
|||
|
||||
| ki6opr |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 20.12.2006 Репутация: нет Всего: нет |
Замена на resource-ref на resource-env-ref так в итоге ничего и не дала ...
Никто что ли не писал приложения которые должны бы были развертываться на нескольких серверах ? |
|||
|
||||
| ki6opr |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 20.12.2006 Репутация: нет Всего: нет |
оказывается если использовать server specific конфиги (sun-ejb.xml, jboss.xml) нужно обязательно писать и ejb-jar.xml
вообщем Glassfish поборол ejb-jar.xml:
и sun-ejb.xml
остался JBoss который ни в какую не хочет деплоить проект потому что в @Resource написан name а не mappedName Это сообщение отредактировал(а) ki6opr - 13.4.2010, 07:24 |
||||
|
|||||
| ki6opr |
|
||||||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 20.12.2006 Репутация: нет Всего: нет |
вообщем поборол и Jboss
в итоге что бы работало и там и там нужно сделать вот так MDB:
Sender:
ну и конфиги: ejb-jar.xml
sun-ejb-jar.xml
jboss.xml где все по особому
Это сообщение отредактировал(а) ki6opr - 15.4.2010, 04:06 |
||||||||||
|
|||||||||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |