Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Не могу получить в EJB ресурс DataSource / 9 сообщений из 9, страница 1 из 1
09.11.2007, 12:08:08
    #34927632
smokeny
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу получить в EJB ресурс DataSource
Доброго дня!

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

Хочу инжектить в 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
09.11.2007, 12:17:10
    #34927683
yanich
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу получить в EJB ресурс DataSource
Код: plaintext
1.
2.
3.
    
    @Resource(name = "jdbc/dbDS")
     protected  DataSource ds;

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

Нет аннотация
...
Рейтинг: 0 / 0
09.11.2007, 12:56:55
    #34927867
Софтверный проктолог
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу получить в EJB ресурс DataSource
Код: 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
09.11.2007, 12:58:25
    #34927874
Софтверный проктолог
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу получить в EJB ресурс DataSource
Datasource, ессно, должен быть объявлен в вашем сервере под JNDI именем myDataSource .
...
Рейтинг: 0 / 0
09.11.2007, 13:23:52
    #34928007
smokeny
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу получить в EJB ресурс DataSource
А разве 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
09.11.2007, 16:40:40
    #34928954
smokeny
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу получить в EJB ресурс DataSource
В общем то сам разрулил.
Виной тому глюкавый 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
09.11.2007, 16:51:35
    #34928995
Java Programmer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу получить в EJB ресурс DataSource
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
Форумы / Java [игнор отключен] [закрыт для гостей] / Не могу получить в EJB ресурс DataSource / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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