Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Tomcat 5 + connection Oracle / 12 сообщений из 12, страница 1 из 1
31.01.2005, 13:32:14
    #32892306
Yes
Yes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat 5 + connection Oracle
При переходе с 4 на 5 версию Tomcat`a появилась ошибка:
Код: plaintext
1.
2.
3.
4.
5.
DriverManager.registerDriver( new  oracle.jdbc.driver.OracleDriver());
oracle.jdbc.pool.OracleConnectionCacheImpl pool =  new  OracleConnectionCacheImpl();
pool.setURL("jdbc:oracle:thin:@" + "IP:PORT:SID");
pool.setUser("...");
pool.setPassword("...");
Код: plaintext
1.
2.
3.
4.
5.
java.lang.NoClassDefFoundError: oracle/dms/console/DMSConsole
oracle.jdbc.driver.DMSFactory.<clinit>(DMSFactory.java: 59 )
oracle.jdbc.pool.OracleConnectionCacheImpl.createDMSSensors(OracleConnectionCacheImpl.java: 221 )
oracle.jdbc.pool.OracleConnectionCacheImpl.<init>(OracleConnectionCacheImpl.java: 209 )
oracle.jdbc.pool.OracleConnectionCacheImpl.<init>(OracleConnectionCacheImpl.java: 161 )

В папке /CATALINA_HOME/shared/lib/ : classes12.jar, classes12dms.jar, nls_charset12, ojdbc14.
При использовании Tomcat 4 этих jar хватало. Кроме этого, 5 работает под виндой, а на линуксовом серваке не хочет.
В чем дело?
...
Рейтинг: 0 / 0
31.01.2005, 13:53:44
    #32892381
А.Грасоff™
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat 5 + connection Oracle
значит, вот это:

java.lang.NoClassDefFoundError: oracle/dms/console/DMSConsole

лежит в области видимости jvm

--
Lacrima Mosa Est
...
Рейтинг: 0 / 0
31.01.2005, 14:03:10
    #32892401
Yes
Yes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat 5 + connection Oracle
ОК. Диагноз есть. Как лечить?
...
Рейтинг: 0 / 0
31.01.2005, 14:08:02
    #32892413
А.Грасоff™
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat 5 + connection Oracle
возможно, что *.jar с указанным классом не лежит на рабочем сервере
(там где не находится) в пределах видимости пятого томката.

--
Lacrima Mosa Est
...
Рейтинг: 0 / 0
31.01.2005, 14:19:22
    #32892447
Yes
Yes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat 5 + connection Oracle
Пробовал разместить classes12.jar, classes12dms.jar, nls_charset12, ojdbc14 - jar`ы для работы с Oracle в WEB_INF/lib - тот же результат.
Почему же томкат 5 может их не видить? Он же подгружает jar для работы с MySQL, который расположен там же.
...
Рейтинг: 0 / 0
31.01.2005, 14:37:15
    #32892524
А.Грасоff™
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat 5 + connection Oracle
YesПробовал разместить classes12.jar, classes12dms.jar, nls_charset12, ojdbc14 - jar`ы для работы с Oracle в WEB_INF/lib - тот же результат.
Почему же томкат 5 может их не видить? Он же подгружает jar для работы с MySQL, который расположен там же.
а точно класс oracle.dms.console.DMSConsole находится в указанных
*.jar'ах?
...
Рейтинг: 0 / 0
31.01.2005, 14:48:02
    #32892557
Denis Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat 5 + connection Oracle
Я использую OracleConnectionCacheImpl, но класса DMSConsole не требуется, да и нет его в указанных архивах. Попробуй так:

1. Не вызывай DriverManager.registerDriver(), но это так, опционально.

2. Создавай пул коннектов следующим образом, через другой конструктор:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
OracleConnectionPoolDataSource poolDataSource =  new  OracleConnectionPoolDataSource();
poolDataSource.setURL("<URL>");
poolDataSource.setUser("<USER>");
poolDataSource.setPassword("<PASSWORD>");
OracleConnectionCacheImpl pool =  new  OracleConnectionCacheImpl(poolDataSource);
pool.setMinLimit(<minLimit>);
pool.setMaxLimit(<maxLimit>);
...
Рейтинг: 0 / 0
31.01.2005, 15:15:30
    #32892655
Yes
Yes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat 5 + connection Oracle
Denis PopovЯ использую OracleConnectionCacheImpl, но класса DMSConsole
не требуется, да и нет его в указанных архивах.

Я тоже не нашел такого класса. Что это за зверь осталось тайной. Повторюсь - на локальной машине такой класс не просит. Да и 4 с такими jar нормально работает.

Denis PopovСоздавай пул коннектов следующим образом, через другой конструктор...

Yes!
Спасибо, Denis Popov. Это сработало! Хотя как в анеке - "ложечку нашли, а осадок остался". Хотелось бы знать почему эта ошибка появлялась.
...
Рейтинг: 0 / 0
31.01.2005, 15:42:13
    #32892722
Denis Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat 5 + connection Oracle
По-моему, это нельзя понять, это можно только запомнить:) Кстати, classes12.jar содержит драйвера Oracle для JDK 1.2 и 1.3, а ojdbc14.jar - для JDK 1.4. Я бы выкинул первый, может быть подхватывается именно он вместо второго. И еще - если ты работаешь с базой Oracle 9i, то и ojdbc14.jar лучше брать именно от него, а не от Oracle 10g. Я натолкнулся на проблему работы драйвера от 10g с базой Oracle 9i, чему был несказанно "доволен". Хотя м.б. это было при использовании именно нового пула коннектов через OracleDataSource, в 10g OracleConnectionCacheImpl объявлен как deprecated.
...
Рейтинг: 0 / 0
31.01.2005, 15:48:38
    #32892739
Yes
Yes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat 5 + connection Oracle
Denis PopovКстати, classes12.jar содержит драйвера Oracle для JDK 1.2 и 1.3, а ojdbc14.jar - для JDK 1.4. Я бы выкинул первый, может быть подхватывается именно он вместо второго. И еще - если ты работаешь с базой Oracle 9i, то и ojdbc14.jar лучше брать именно от него, а не от Oracle 10g.

Я использую 10g.
...
Рейтинг: 0 / 0
31.01.2005, 15:57:48
    #32892761
Denis Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat 5 + connection Oracle
Тогда можешь попробовать взять драйвера от 10g, убрать предыдущие и реализовать пул коннектов примерно так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
OracleDataSource pool =  new  OracleDataSource();
// Set DataSource properties
pool.setURL("<URL>");
pool.setUser("<USER>");
pool.setPassword("<PASSWORD>");
// Be sure set to true
pool.setConnectionCachingEnabled(true);
//
Properties prop =  new  Properties();
prop.put() 
prop.put("InitialLimit", "3");
prop.put("MinLimit", "3");
prop.put("MaxLimit", "10");
prop.put("PropertyCheckInterval", "60");
prop.put("ValidateConnection", "true");
pool.setConnectionCacheProperties(prop);
// This cache''s name
pool.setConnectionCacheName("OracleCache");

Это так, к слову.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
21.03.2012, 08:50:14
    #37714929
smithsv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat 5 + connection Oracle
Для меня решение оказалось простым: исключить файл ojdbc*dms.jar (у меня ojdbc14dms.jar) из reference
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Tomcat 5 + connection Oracle / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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