![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| poltora |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 6.8.2007 Репутация: нет Всего: нет |
Уперся в стену - не могу состыковать корпоративный бин (ejb bmp) с базой данных PostgreSQL.
В коде пытаюсь получить DataSource dataSource = (DataSource) ic.lookup("java:comp/env/jdbc/MySource"); но получаю исключение 16:21:24,702 ERROR [LogInterceptor] TransactionRolledbackLocalException in method: public abstract kkar.agent.LocalAgent kkar.agent.LocalAgentHome.findByDetails(kkar.agent.AgentDetails) throws javax.ejb.FinderException,kkar.util.AuthorizedException, causedBy: javax.ejb.EJBException: Could not dereference object Как получить соединение с БД для корпоративного бина (entity bean) с персистенцией, управляемой бином (BMP), используя DataSource? Как правильно прописывать в дексрипторах JNDI имена? Для того, что бы JBoss знал о PostgreSQL - скопировал postgresql-8.0.309.jdbc2 в <JBoss_dir>\server\default\lib в <JBoss_dir>\server\default\deploy создал postgres-ds.xml по подобию существующего hsqldb-ds.xml далее указываю листинги файлов postgresql-ds.xml, ejb-jar.xml, jboss.xml postgresql-ds.xml <datasources> <local-tx-datasource> <jndi-name>MySource</jndi-name> <connection-url>jdbc:postgresql://127.0.0.1:5432/kkar</connection-url> <driver-class>org.postgresql.Driver</driver-class> <user-name>kkar</user-name> <password>12345</password> ... </local-tx-datasource> </datasources> ejb-jar.xml <entity> ... <resource-ref> <res-ref-name>jdbc/MySource</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> <res-sharing-scope>Shareable</res-sharing-scope> </resource-ref> </entity> jboss.xml <jboss > <enterprise-beans> <entity> <ejb-name>AgentEJB</ejb-name> <jndi-name>MyAgent</jndi-name> <resource-ref> <res-ref-name>jdbc/MySource</res-ref-name> <jndi-name>MySource</jndi-name> </resource-ref> </entity> </enterprise-beans> </jboss> |
|||
|
||||
| ekr |
|
|||
![]() ...и это пройдет... ![]() ![]() Профиль Группа: Участник Сообщений: 359 Регистрация: 6.5.2007 Где: Moscow, RU Репутация: 12 Всего: 19 |
||||
|
||||
| poltora |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 6.8.2007 Репутация: нет Всего: нет |
После чтения мануалов, гугления форумов и танцев с бубном удалось мне получить коннект к базе.
Итак, для связки бинов(ejb bmp под апп.сервером JBoss) и БД (PostgreSQL) используется всего 3 файла - ejb-jar.xml, jboss.xml, postgres-ds.xml ejb-jar.xml - связывает <res-ref-name> с javax.sql.DataSource jboss.xml - сопоставляет этот <res-ref-name> с JNDI-именем (должно указываться с префиксом java:/). postgres-ds.xml - связывает БД с JNDI(указывается БЕЗ префика java:/) |
|||
|
||||
![]()
|
| Правила форума "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. |