powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Нужна помощь с tomcat8
25 сообщений из 81, страница 3 из 4
Нужна помощь с tomcat8
    #39103063
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и рекомендация (уже) для программистов.
Любой (ваш) сервлет обязан реализовать методы init/destroy, а все ваши реализации HTTP-методов обязаны проверять флаг, который будет выставлять destroy() и уметь корректно прекращать обработку запросов.
...
Рейтинг: 0 / 0
Нужна помощь с tomcat8
    #39103161
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123no56892Да там вадя System.exit() спрятал стопудово.
))
ставлю на красное)).
Пятница.
а раньше где ты был???????
...
Рейтинг: 0 / 0
Нужна помощь с tomcat8
    #39103207
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как выгрузить jdbc загруженный так
Код: java
1.
Class.forName("com.mysql.jdbc.Driver").newInstance();
...
Рейтинг: 0 / 0
Нужна помощь с tomcat8
    #39103214
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадякак выгрузить jdbc загруженный так
Код: java
1.
Class.forName("com.mysql.jdbc.Driver").newInstance();



Драйвера сами себя регистрируют через DriverManager. Соответсвенно, выгружать через него. Вот пример для MySQL+BasicDataSource.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
        BasicDataSource dataSource = instance.ds;
        dataSource.close();
        String driverClassName = dataSource.getDriverClassName();
        Enumeration<Driver> drivers = DriverManager.getDrivers();
        while (drivers.hasMoreElements()) {
            Driver driver = drivers.nextElement();
            if (driverClassName.equals(driver.getClass().getName())) {
                try {
                    com.mysql.jdbc.AbandonedConnectionCleanupThread.shutdown();
                } catch (InterruptedException e) {
                    Logger.getLogger(DAL.class).error(e.getMessage(), e);
                }
                DriverManager.deregisterDriver(driver);
            }
        }


Ну, и вообще, если тема интересна,
Вот две ссылки
http://rsdn.ru/forum/java/5974292.1
YouTube Video
...
Рейтинг: 0 / 0
Нужна помощь с tomcat8
    #39103258
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,
даааааааааааааааааааа ууууужжжжжжжжжж........
...
Рейтинг: 0 / 0
Нужна помощь с tomcat8
    #39103260
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
лучше замять эту тему , для ясности.....

:)
...
Рейтинг: 0 / 0
Нужна помощь с tomcat8
    #39103371
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
'Замять для ясности'?
))
...
Рейтинг: 0 / 0
Нужна помощь с tomcat8
    #39103398
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123вадя,
'Замять для ясности'?
))
типа того :) а то тут уже "наворотили" кучу малу, а дело, как всегда, в какой-то ерундовой ошибке
...
Рейтинг: 0 / 0
Нужна помощь с tomcat8
    #39103416
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,
эта шутка ещё со школы.... :)
но интернет мало что знает как выгрузить драйвер jdbc.
если кто может привести пример к нужном использованию, Прошу помочь, я не смог....
...
Рейтинг: 0 / 0
Нужна помощь с tomcat8
    #39103420
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174Petro123вадя,
'Замять для ясности'?
))
типа того :) а то тут уже "наворотили" кучу малу, а дело, как всегда, в какой-то ерундовой ошибке
посмотрев выступление и пискав в инете прихожу к мысли, что может оставить как есть, но не хочется
...
Рейтинг: 0 / 0
Нужна помощь с tomcat8
    #39103511
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадякак выгрузить jdbcJDBC должен быть в общем загрузчике классов (common classloader).
В случае tomcat7+ это ${catalina.base}/lib.
Практическая рекомендация - не добавлять jdbc-драйверы в (своё) веб-приложение.
Практическое следствие - вообще не добавлять в веб-приложение библиотеки. За редкими исключениями.
Делегируйте эту задачу сисадмину и организуйте ${catalina.base}/lib. Чтобы не конфликтовать с другими экземплярами JVM этого хоста - разделяйте ${catalina.home} (один на данную версию котяры) и ${catalina.base} - по одному на все приложения, работающие в (какой-то) одной jvm.

P.S. А перезагрузкой jdbc-драйверов был/есть(?) косяк.
...
Рейтинг: 0 / 0
Нужна помощь с tomcat8
    #39103608
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorovвадякак выгрузить jdbcJDBC должен быть в общем загрузчике классов (common classloader).
В случае tomcat7+ это ${catalina.base}/lib.
Практическая рекомендация - не добавлять jdbc-драйверы в (своё) веб-приложение.
Практическое следствие - вообще не добавлять в веб-приложение библиотеки. За редкими исключениями.
Делегируйте эту задачу сисадмину и организуйте ${catalina.base}/lib. Чтобы не конфликтовать с другими экземплярами JVM этого хоста - разделяйте ${catalina.home} (один на данную версию котяры) и ${catalina.base} - по одному на все приложения, работающие в (какой-то) одной jvm.

P.S. А перезагрузкой jdbc-драйверов был/есть(?) косяк.
это всё понятно и полностью соглашусь...
но я и так делегирую сисадмину (т.е. себе), а у него память слабая....
поэтому не помнит что и какие библиотеки надо и под какой проект
и оптимальное решение - всё своё тащу с собой. тяжело, зато не надо помнить, всё в проекте.
косяк именно в том, что пишет - что есть такая загрузка.
у меня там ещё и нативный класс , его тоже надо выгружать как-то...
...
Рейтинг: 0 / 0
Нужна помощь с tomcat8
    #39103613
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам легко или чтобы работало?
Если второе, то самая хорошая память хуже самой плохой записной книжки.
...
Рейтинг: 0 / 0
Нужна помощь с tomcat8
    #39103614
Фотография fixxer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяно я и так делегирую сисадмину (т.е. себе), а у него память слабая....
поэтому не помнит что и какие библиотеки надо и под какой проект
и оптимальное решение - всё своё тащу с собой. тяжело, зато не надо помнить, всё в проекте.


Я тоже все время забываю, поэтому записываю. В скрипт развертывания.
...
Рейтинг: 0 / 0
Нужна помощь с tomcat8
    #39103616
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovВам легко или чтобы работало?
Если второе, то самая хорошая память хуже самой плохой записной книжки.
мне чтоб легко И чтобы работало
...
Рейтинг: 0 / 0
Нужна помощь с tomcat8
    #39103670
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
здесь , в коце
дерегистрация
Код: java
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.
32.
public void destroy() {
        System.out.println("*************************destroy*****************************");
        try {
            System.out.println("Calling MySQL AbandonedConnectionCleanupThread shutdown");
            com.mysql.jdbc.AbandonedConnectionCleanupThread.shutdown();

        } catch (InterruptedException e) {
            System.out.println("Error calling MySQL AbandonedConnectionCleanupThread shutdown {}" + e);
        }

        ClassLoader cl = Thread.currentThread().getContextClassLoader();

        Enumeration<Driver> drivers = DriverManager.getDrivers();
        while (drivers.hasMoreElements()) {
            Driver driver = drivers.nextElement();

            if (driver.getClass().getClassLoader() == cl) {

                try {
                    System.out.println("Deregistering JDBC driver {}" + driver);
                    DriverManager.deregisterDriver(driver);

                } catch (SQLException ex) {
                    System.out.println("Error deregistering JDBC driver {}" + driver + ex);
                }

            } else {
                System.out.println("Not deregistering JDBC driver {} as it does not belong to this webapp's ClassLoader" + driver);
            }
        }
        System.out.println("************************* driver u *****************************");
    }


отработало, но почему 2 строки?

Код: plaintext
1.
2.
3.
4.
5.
*************************destroy*****************************
Calling MySQL AbandonedConnectionCleanupThread shutdown
Deregistering JDBC driver {}com.mysql.jdbc.Driver@eb99b82
Deregistering JDBC driver {}com.mysql.jdbc.Driver@6146fadd
************************* driver u *****************************
...
Рейтинг: 0 / 0
Нужна помощь с tomcat8
    #39103680
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если так регистрировать
Код: java
1.
 DriverManager.registerDriver(new com.mysql.jdbc.Driver());


то в дерегистрации - 2 строки
если так
Код: java
1.
 Class.forName(Class_forName).newInstance();


то одна строка


2Blazkowicz спасибо за дельный ролик.
помог найти скрытые ошибки
теперь и легко и работает
...
Рейтинг: 0 / 0
Нужна помощь с tomcat8
    #39103785
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ещё один вопрос по логике работы кошки
состояние - проект загружен, работает , в папке webapps есть папка с проектом, есть war файл.
если я делаю выбор новой версии war, и deploy, новая версия загружается , только куда загружается не понятно, в папке webapps прежняя сохраняется. и ничего не происходит, даже если нажать reload
получается загрузка в никуда...
если перед загрузкой сделать undeploy- новая версия ставится

это так и должно быть или ?
...
Рейтинг: 0 / 0
Нужна помощь с tomcat8
    #39103802
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Я не заморачивался. И тебе советую, undeploy перед deploy.
...
Рейтинг: 0 / 0
Нужна помощь с tomcat8
    #39103812
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123вадя,
Я не заморачивался. И тебе советую, undeploy перед deploy.
ну я так и делаю, просто хочется понять
...
Рейтинг: 0 / 0
Нужна помощь с tomcat8
    #39103829
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
кстати, томкет вроде сам умеет отключать драйвер. на седьмой версии находил:
авторSEVERE: The web application [] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
...
Рейтинг: 0 / 0
Нужна помощь с tomcat8
    #39103866
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174,
у меня не получалось. у меня java8.
...
Рейтинг: 0 / 0
Нужна помощь с tomcat8
    #39104117
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяесли так регистрировать
Код: java
1.
 DriverManager.registerDriver(new com.mysql.jdbc.Driver());


то в дерегистрации - 2 строки
если так
Код: java
1.
 Class.forName(Class_forName).newInstance();



Потому что конструктор сам себя регистрирует и ещё раз это делает ваш код вызовом registerDriver
...
Рейтинг: 0 / 0
Нужна помощь с tomcat8
    #39104777
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяPetro123undeploy перед deploy.
ну я так и делаю, просто хочется понятьСвернуть-развернуть будет всегда.
Вопрос только в том будете вы проделывать обе операции ручками или контейнер сделает всё сам по одной команде.
Если второе, то читайте описание Context и, в частности, развёртывание приложений за пределами webapps.
Если освоить описатели контекстов (это несложно), то новая версия выкладывается в новое место, меняется docBase описателя и при сохранении файла контейнер самостоятельно свернёт старую версию приложения и развернёт новую.
Если есть желание сэкономить время на упаковке/распаковке - используйте каталоги вместо war-файлов. Не по стандарту, работатет. Вроде, везде работает.
Каталоги особенно удобны, если требуется мелкое изменение типа "подправить файлец-другой".
...
Рейтинг: 0 / 0
Нужна помощь с tomcat8
    #39104940
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,
предложенный вариант более долгий , чем нажать кнопку undeploy
мне кажется странным загрузка в никуда, и без каких-либо ошибок.
...
Рейтинг: 0 / 0
25 сообщений из 81, страница 3 из 4
Форумы / Java [игнор отключен] [закрыт для гостей] / Нужна помощь с tomcat8
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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