|  | 
| 
Закрыть пул подключения к базе | |||
|---|---|---|---|
| #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=39898226&tid=2121002]: | 0ms | 
| get settings: | 12ms | 
| get forum list: | 12ms | 
| check forum access: | 4ms | 
| check topic access: | 4ms | 
| track hit: | 43ms | 
| get topic data: | 13ms | 
| get forum data: | 2ms | 
| get page messages: | 55ms | 
| get tp. blocked users: | 2ms | 
| others: | 237ms | 
| total: | 384ms | 

| 0 / 0 | 
