powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Не могу получить в EJB ресурс DataSource
9 сообщений из 9, страница 1 из 1
Не могу получить в EJB ресурс DataSource
    #34927632
smokeny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго дня!

Не подскажете в чем может быть проблема

Хочу инжектить в Stateless Bean Enterprise DataSource "jdbc/odbDS"
Пробовал все способы: и через анотацию @Resource (c mappedname и с <resource-ref> в sun-ejv-jar.xml) а также через InitialContext().lookup("java:comp/env/jdbc/sample")
Все равно выдает NameNotFoundException: Incorrect Lookup Name

Дня проверки скачал Sun'овский Print Jndi Tree - там даже субконтекста jdbc нет.

В чем может быть подвох?
...
Рейтинг: 0 / 0
Не могу получить в EJB ресурс DataSource
    #34927683
yanich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
    
    @Resource(name = "jdbc/dbDS")
     protected  DataSource ds;

У меня в OC4J такая конструкция срабатывает...
...
Рейтинг: 0 / 0
Не могу получить в EJB ресурс DataSource
    #34927706
smokeny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не понял, прикол в protecded что-ли?
...
Рейтинг: 0 / 0
Не могу получить в EJB ресурс DataSource
    #34927711
Фотография Java Programmer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
smokenyНе понял, прикол в protecded что-ли?

Нет аннотация
...
Рейтинг: 0 / 0
Не могу получить в EJB ресурс DataSource
    #34927867
Фотография Софтверный проктолог
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
public Connection getConnection() throws SQLException {
        try {
            InitialContext jndiCntx = new InitialContext();
            DataSource ds = (DataSource) jndiCntx.lookup("java:comp/env/ jdbc/myDataSource ");
            return ds.getConnection();
        } catch (NamingException ne) {
            throw new EJBException(ne);
        }
    }

ejb-jar.xml
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
<ejb-jar>
  <display-name>EJBM_MAIN</display-name>
  <enterprise-beans>
...
   <session>
      <ejb-name>MyEJBName</ejb-name>
      <home>...</home>
      <remote>...</remote>
      <local-home>...</local-home>
      <local>...</local>
      <ejb-class>...</ejb-class>
      <session-type>Stateless</session-type>
      <transaction-type>Container</transaction-type>
      <resource-ref>
        <res-ref-name> jdbc/myDataSource </res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
      </resource-ref>
    </session>
...
  </enterprise-beans>
  <assembly-descriptor>
...
    <container-transaction>
      <method>
        <ejb-name>MyEJBName</ejb-name>
        <method-name>*</method-name>
      </method>
      <trans-attribute>Required</trans-attribute>
    </container-transaction>
...
  </assembly-descriptor>
...
Рейтинг: 0 / 0
Не могу получить в EJB ресурс DataSource
    #34927874
Фотография Софтверный проктолог
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Datasource, ессно, должен быть объявлен в вашем сервере под JNDI именем myDataSource .
...
Рейтинг: 0 / 0
Не могу получить в EJB ресурс DataSource
    #34928007
smokeny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А разве sun-ejb-jar.xml не заменяет ejb-jar.xml

Вроде у меня прописано sun-ejb-jar.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sun-ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 9.0 EJB 3.0//EN" "http://www.sun.com/software/appserver/dtds/sun-ejb-jar_3_0-0.dtd">
<sun-ejb-jar>
<enterprise-beans>
<name/>
<ejb>
<ejb-name>aaa</ejb-name>
<resource-ref>
<res-ref-name>jdbc/odbDS</res-ref-name>
<jndi-name>java:comp/env/jdbc/odbDS</jndi-name>
</resource-ref>
</ejb>
</enterprise-beans>
</sun-ejb-jar>

Вроде в sun-ejb-jar у меня прописано
...
Рейтинг: 0 / 0
Не могу получить в EJB ресурс DataSource
    #34928954
smokeny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем то сам разрулил.
Виной тому глюкавый Glassfish(возможно у меня несвежий билд), либо чего то в нем отличается от SAS.
Поставил SAS 9.0 - там все работает с пол-оборота, причем хватает аннотации

@Resource(name = "jdbc/odbDS", mappedName="jdbc/odbDS")

работает также вариант lookup c с прописью в ejb-jar.xml

Сановский сервлет jndiTree.war - показывает нормально субконтекст java:/comp/env/jdbc, в Glassfish'е в списках его просто не было.
...
Рейтинг: 0 / 0
Не могу получить в EJB ресурс DataSource
    #34928995
Фотография Java Programmer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
smokenyВ общем то сам разрулил.
Виной тому глюкавый Glassfish(возможно у меня несвежий билд), либо чего то в нем отличается от SAS.
Поставил SAS 9.0 - там все работает с пол-оборота, причем хватает аннотации

@Resource(name = "jdbc/odbDS", mappedName="jdbc/odbDS")

работает также вариант lookup c с прописью в ejb-jar.xml

Сановский сервлет jndiTree.war - показывает нормально субконтекст java:/comp/env/jdbc, в Glassfish'е в списках его просто не было.

Работает все в GlassFish ) может не свежий (протухший билд)
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Не могу получить в EJB ресурс DataSource
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]