Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Настройка dataSource, Понимаю что заезжанная тема 
V
    Опции темы
Zamuta
Дата 8.3.2007, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 18.1.2006

Репутация: 4
Всего: 6



Всем привет...

Понимаю что вопрос изрядно битый, прочитал все ветки на форуме, но возник вопрос.

Стоит netbeans5.5+tomcat5.5. Раньше юзал proxool, для чего в META-INF/context.xml писал 
Код

<Resource auth="Container"
 factory="org.logicalcobwebs.proxool.ProxoolDataSource"
 name="jdbc/dataSource"
 password="pass"
 proxool.alias="test"
 proxool.driver-class="com.mysql.jdbc.Driver"
 proxool.driver-url="jdbc:mysql://localhost:3306/registration" 
 type="javax.sql.DataSource" username="root"/>

И всё работало.
Потом решил опробовать common-dbcp и c3p0 , но в доках пишут, что настройки нужно хранить в server.xml. Это критично или то же самое можно хранить и в META-INF/context.xml ? 

И если пользуюсь админ панелью томката, то не вижу настроек сделанных в server.xml, а если делаю эти настройки вручную, то не вижу их в админ панели. 

Вообще расскажите META-INF/context.xml имеет отшение к настройкам в server.xml ?

Спасибо...


--------------------
Thank you opensource.
PM MAIL ICQ   Вверх
tux
Дата 8.3.2007, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



Разница в том, что настройки в context.xml хранятся внутри приложения, в случае server.xml - в конфигурации сервера. Соответственно, чтобы поменять настройки в context.xml, придется пересобрать приложение. Вот и вся разница. Можешь источник данных с dbcp определять хоть в context.xml, хоть в server.xml.
PM MAIL Skype GTalk Jabber YIM   Вверх
VSergeyV
Дата 9.3.2007, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 299
Регистрация: 9.5.2006
Где: Новосибирск

Репутация: нет
Всего: 3



а как быть при написании веб сервисов, допустим вот сейчас я налаживаю dbcp/интегрированный в Tomcat/ под AXIS2, AXIS2 крутится под Томкетом
PM MAIL ICQ   Вверх
tux
Дата 9.3.2007, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



Цитата(VSergeyV @  9.3.2007,  14:11 Найти цитируемый пост)
а как быть при написании веб сервисов, допустим вот сейчас я налаживаю dbcp/интегрированный в Tomcat/ под AXIS2, AXIS2 крутится под Томкетом 

И в чем проблема?
PM MAIL Skype GTalk Jabber YIM   Вверх
VSergeyV
Дата 9.3.2007, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 299
Регистрация: 9.5.2006
Где: Новосибирск

Репутация: нет
Всего: 3



При
Код

Connection connection = ds.getConnection();


выскакивает экспешион
Cannot create JDBC driver of class '' for connect URL 'null'

вроде делаю все правильно, может все таки нельзя использовать dataSource из веб сервиса?
PM MAIL ICQ   Вверх
tux
Дата 9.3.2007, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



Цитата(VSergeyV @  9.3.2007,  17:49 Найти цитируемый пост)
вроде делаю все правильно

Значит все работает, тебе показалось.

Цитата(VSergeyV @  9.3.2007,  17:49 Найти цитируемый пост)
может все таки нельзя использовать dataSource из веб сервиса? 

И как ты себе это представляешь? Томкат получает запрос на выдачу источника данных и лезет вверх по стэктрейсу пытаясь определить не из веб-сервиса ли к нему постучались. Так что-ли?

context.xml:
Код

<?xml version="1.0" encoding="UTF-8"?>
<Context>

    <Resource name="jdbc/postgres" auth="Container"
        type="javax.sql.DataSource" driverClassName="org.postgresql.Driver"
        url="jdbc:postgresql://127.0.0.1:5432/db" username="user"
        password="pwd" maxActive="20" maxIdle="10" maxWait="-1" />

</Context>


web.xml:
Код

<!DOCTYPE web-app 
  PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
  "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
...
    <resource-ref>
        <res-ref-name>jdbc/postgres</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
    </resource-ref>
</web-app>


Код:
Код

InitialContext cxt = new InitialContext();
DataSource ds = (DataSource) cxt.lookup("java:/comp/env/jdbc/postgres");

Так работает. Чего там у тебя понятия не имею, код же ты не приводишь и как настроено не говоришь. Известно только что все правильно.
PM MAIL Skype GTalk Jabber YIM   Вверх
VSergeyV
Дата 13.3.2007, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 299
Регистрация: 9.5.2006
Где: Новосибирск

Репутация: нет
Всего: 3



Накидал примерчик, чисто веб приложение //не сервис//, оно конечно заработало smile , 

мой context.xml из META-INF веб сервиса
Код

<?xml version="1.0" encoding="UTF-8"?>
<Context reloadable="true" >
    <Resource name="jdbc/TestDB" auth="Container"
              type="javax.sql.DataSource"
              maxActive="100" maxIdle="30" maxWait="10000"
              username="XXXXXXX"
              password="XXXXXXX"
              driverClassName="com.sybase.jdbc2.jdbc.SybDriver" url="jdbc:sybase:Tds:000.000.000.000:5000/dzk_dev_local"/>
</Context>


мой web.xml из WEB-INF веб сервиса
Код

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
  <description>MySQL Test App</description>
  <resource-ref>
      <description>DB Connection</description>
      <res-ref-name>jdbc/TestDB</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
  </resource-ref>
</web-app>


код
Код

DataSource ds=null;
Context ctx = new InitialContext();
if(ctx == null )
throw new Exception("Boom - No Context");
ds=(DataSource)ctx.lookup("java:comp/env/jdbc/TestDB");
if(ds == null )
throw new Exception("Boom - No Datasource");
Connection conn=ds.getConnection();
Statement stmt=conn.createStatement();
ResultSet    rs = stmt.executeQuery(
 ...


но в веб сервисе на AXIS2 (v 1.1.1)  при
Код

Connection connection = ds.getConnection();


вылетает Cannot create JDBC driver of class '' for connect URL 'null'

пробал contex.xml помещать и в META-INF AXIS2, и определять ресурс в server.xml Томкета, а также в services.xml своего проекта, результат один, смотрел форум по веб сервисам подобного не увидел, просто 
Database connection pool and Tomcat, Cannot create JDBC driver of class ''

Как вытащить подключение к БД из контекста Tomcat? Надо достать DataSourse из контекста.

У когонибудь хотя бы просто из веб сервиса удается получать доступ к DBCP через JNDI?




Это сообщение отредактировал(а) VSergeyV - 13.3.2007, 15:21
PM MAIL ICQ   Вверх
VSergeyV
Дата 14.3.2007, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 299
Регистрация: 9.5.2006
Где: Новосибирск

Репутация: нет
Всего: 3



Поставил Tomcat 6.0.10 (до этого был 5.5.12), также не работало, потом поставил JDK1.6.0 - заработало smile  
Это приятно и не приятно smile , пробовал запускать под Tomcat 5.5.12 + JDK1.6.0 тоже не заработало, все же проблема наверно с загрузкой классов? или/и доступ к контексту из вебсервиса?

PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0530 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.