|
Закрыть пул подключения к базе
|
|||
---|---|---|---|
#18+
подключаюсь к mysql так Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
как закрыть пул при редеплое? при новом деплое старый пул коннектов остаётся висеть, в логах Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2019, 12:16 |
|
Закрыть пул подключения к базе
|
|||
---|---|---|---|
#18+
Для начала - вынести jdbc-драйверы и библиотеку логирования из приложения в общий или даже системный classpath. Чтобы развёртывание приложения вообще их не затрагивало. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2019, 12:23 |
|
Закрыть пул подключения к базе
|
|||
---|---|---|---|
#18+
вадя, настрой datasource на своем томкате, а в приложении получай его через JNDI ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2019, 12:40 |
|
Закрыть пул подключения к базе
|
|||
---|---|---|---|
#18+
вадя как закрыть пул при редеплое? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2019, 13:04 |
|
Закрыть пул подключения к базе
|
|||
---|---|---|---|
#18+
Basil A. Sidorov Для начала - вынести jdbc-драйверы и библиотеку логирования из приложения в общий или даже системный classpath. PetroNotC Sharp там где синглетон стопишь. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2019, 13:09 |
|
Закрыть пул подключения к базе
|
|||
---|---|---|---|
#18+
вадя вопрос как а не где Поэтому могу только посоветовать делать обратные действия. - вернуть коннекты в пул,.... обнулить ссылки... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2019, 13:49 |
|
Закрыть пул подключения к базе
|
|||
---|---|---|---|
#18+
в томкате подписаться на событие там есть набор listenerov в томкате поискать надо какой подходить. Подписаться и при undeploy соотвествующем выолпнить закрытие пула соединений. Но лучше все таки jndi в томкат настроить https://stackoverflow.com/questions/15895997/tomcat-application-deployment-listener ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2019, 14:20 |
|
Закрыть пул подключения к базе
|
|||
---|---|---|---|
#18+
Basil A. Sidorov Для начала - вынести jdbc-драйверы и библиотеку логирования из приложения в общий или даже системный classpath. Чтобы развёртывание приложения вообще их не затрагивало. maven во всём виноват, тащит драйвер в варнике. убрать из pom и не будет его в варнике, а влинуксе устанавливать вместе с javasdk ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2019, 16:24 |
|
Закрыть пул подключения к базе
|
|||
---|---|---|---|
#18+
вадя как закрыть пул при редеплое? при новом деплое старый пул коннектов остаётся висеть, в логах Код: plaintext 1.
Я-бы предложил следовать такому принципу. На каком уровне вы ресурс создали - на том он и должен быть удалён. Если пулом владеет Tomcat. То только shutdown Tomcat имеет право закрыть соединения. Если пул создает ваше приложение - то вам его удалять пул вместе с коннектами пре редеплое. Выше по топику верно сказали что можно просто корректно вернуть объект сессии обратно (возм для dbcp это будет нечто вроде: Код: java 1.
Этого будет достаточно чтоб не флудить в базе висячими объектами connection которые могут быть дорогими с точни зрения ресурсов. Наприер 1 сессия oracle потребляет от 10Мб памяти на стороне БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2019, 16:58 |
|
Закрыть пул подключения к базе
|
|||
---|---|---|---|
#18+
mayton На каком уровне вы ресурс создали - на том он и должен быть удалён. Если пулом владеет Tomcat. То только shutdown Tomcat имеет право закрыть соединения. Если пул создает ваше приложение - то вам его удалять пул вместе с коннектами пре редеплое. на этом надо было и закончить все остальное - чтение документации. Например для Oracle JDBC Drivers https://docs.oracle.com/cd/E18283_01/appdev.112/e13995/oracle/jdbc/pool/OracleConnectionCacheManager.html для MySQL, читать версию документации по используемой версии MySQL драйверов + возможно, смотреть исходный код ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2019, 17:02 |
|
Закрыть пул подключения к базе
|
|||
---|---|---|---|
#18+
mayton Я-бы предложил следовать такому принципу. На каком уровне вы ресурс создали - на том он и должен быть удалён. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2019, 17:07 |
|
Закрыть пул подключения к базе
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev для MySQL, читать версию документации по используемой версии MySQL драйверов + возможно, смотреть исходный код и Basil A. Sidorov правильно задал направление. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2019, 17:10 |
|
Закрыть пул подключения к базе
|
|||
---|---|---|---|
#18+
вадя mayton Я-бы предложил следовать такому принципу. На каком уровне вы ресурс создали - на том он и должен быть удалён. Как не работает? Нужны детали. Если он JDBC какой-то там версии то DriverManager сам его обнаруживает через connection-url. Если тип старый то нужно класслоадеру сказать что ClassForName... e.t.c. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2019, 17:16 |
|
Закрыть пул подключения к базе
|
|||
---|---|---|---|
#18+
mayton Как не работает? Нужны детали. Если он JDBC какой-то там версии то DriverManager сам его обнаруживает через connection-url. Если тип старый то нужно класслоадеру сказать что ClassForName... e.t.c. главное чтоб был коннектор. это проблема с 6 кошки.... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2019, 17:40 |
|
Закрыть пул подключения к базе
|
|||
---|---|---|---|
#18+
вадя mayton Я-бы предложил следовать такому принципу. На каком уровне вы ресурс создали - на том он и должен быть удалён. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2019, 17:42 |
|
Закрыть пул подключения к базе
|
|||
---|---|---|---|
#18+
PetroNotC Sharp ну ты же не разбирался. Просто перекинул дрова в папку сервера. Они вполне могли быть в папке отдельного приложения. варианты кода предложенные в инете ориентированы на старые драйвера. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2019, 17:47 |
|
Закрыть пул подключения к базе
|
|||
---|---|---|---|
#18+
вадя, Да. Их все то 3 решения по степени продвинутости: в апп, в сервере, jndi. До jndi ты не дошел. Но все впереди. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2019, 17:52 |
|
Закрыть пул подключения к базе
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Да. Их все то 3 решения по степени продвинутости: в апп, в сервере, jndi. а что лучше из 2 - вопрос спорный ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2019, 18:03 |
|
Закрыть пул подключения к базе
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Они вполне могли быть в папке отдельного приложения ... но лучше, чтобы их там не было JNDI Datasource How-To : DriverManager, the service provider mechanism and memory leaks java.sql.DriverManager supports the service provider mechanism. This feature is that all the available JDBC drivers that announce themselves by providing a META-INF/services/java.sql.Driver file are automatically discovered, loaded and registered, relieving you from the need to load the database driver explicitly before you create a JDBC connection. However, the implementation is fundamentally broken in all Java versions for a servlet container environment. The problem is that java.sql.DriverManager will scan for the drivers only once. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2019, 18:26 |
|
|
start [/forum/topic.php?fid=59&msg=39898230&tid=2121002]: |
0ms |
get settings: |
26ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
398ms |
get tp. blocked users: |
2ms |
others: | 316ms |
total: | 822ms |
0 / 0 |