|
|
|
JBDC Conection pool убийца коннекций
|
|||
|---|---|---|---|
|
#18+
Описание ситуации: 1.Запускается tomcat, на котором настроен в файлах server.xml и web.xml connection pool для базы (например, Oracle), при этом в базе создаются сколько-то коннекций (они же сессии). 2. Пользователь подключается к tomcat и из-под него обращается к базе. Новые коннекции не создаются, т.к. они берутся из pool 3. Пользователь закрывает окно браузера с подключением к tomcat, коннекция к базе при этом не убивается, она возвращается в pool. 4. dba (администратор базы данных) смотрит на эти коннекции (в oracle - представление v$session), видит, что они отъедают много ресурсов и их программно закрывает (в oracle - alter system kill session ...). 5. Пользователь подключается к tomcat, пытается обратиться к базе, коннекция берется из pool, но в базе эта коннекция убита (п.4) 6. Пользователь видит сообщение об ошибке Вопрос: Как разрулить эту ситуацию, чтобы пользователь ничего не увидел и была бы создана новая коннекция? Если уже было такое, то дайте ссыль на пост) Очень нужны примеры с кодом! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2017, 16:25 |
|
||
|
JBDC Conection pool убийца коннекций
|
|||
|---|---|---|---|
|
#18+
Соединения с БД "коннекциями" никто не называет. Соединение это не совсем сессия. Большинство пулов умеют возможно валидировать соединение простейшим запросом, перед там как отдать пользователю. Если не ленится, и читать мануал , то можно там обнаружить следующее RTFMvalidationQuery - (String) The SQL query that will be used to validate connections from this pool before returning them to the caller. If specified, this query does not have to return any data, it just can't throw a SQLException. The default value is null. If not specified, connections will be validation by the isValid() method. Example values are SELECT 1(mysql), select 1 from dual(oracle), SELECT 1(MS Sql Server) и ещё много других полезных настроек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2017, 16:34 |
|
||
|
JBDC Conection pool убийца коннекций
|
|||
|---|---|---|---|
|
#18+
Alegiter, уволить DBA по п.п. 4. Ну, или забить с ним стрелку для выяснения что ему нужно. Самому протестировать как работает приложение на размере пула 1,2,10 соединений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2017, 16:35 |
|
||
|
JBDC Conection pool убийца коннекций
|
|||
|---|---|---|---|
|
#18+
Это что за технологии такие, что коннекции в пул возвращаются по закрытию бровзера? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2017, 16:43 |
|
||
|
JBDC Conection pool убийца коннекций
|
|||
|---|---|---|---|
|
#18+
Alegiter... Вопрос: Как разрулить эту ситуацию, чтобы пользователь ничего не увидел и была бы создана новая коннекция? ... Очень нужны примеры с кодом! Код не нужен. Почти любой менеджер коллекций имеет настройку "валидировать коннекцию перед отдачей приложения". Просто нужно включить эту галочку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2017, 17:36 |
|
||
|
JBDC Conection pool убийца коннекций
|
|||
|---|---|---|---|
|
#18+
Petro123Ну, или забить с ним стрелку для выяснения что ему нужно. Даже без хрустального шара, рискну выдвину предположение: 1. Одни долбодятлы своим приложением БД роняют 2. Другой долбодятел пытается лечить проблемы СУБД методом KILL SESSION, роняет приложение Все счастливы. У всех есть работа. Все ходят в офис и получают зарплату. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2017, 17:39 |
|
||
|
JBDC Conection pool убийца коннекций
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev, да))). Согласен. Тут главное решить, с кем будем бороться. С киляющим админом или всё таки с багами\глупостями в приложении. Аффтар ушёл на стрелку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2017, 18:08 |
|
||
|
JBDC Conection pool убийца коннекций
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev, Расскажите, пожалуйста, подробнее по поводу этой настройки) Какой "любой"? Где, так сказать, включать эту галочку? Мб есть пример? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2017, 18:39 |
|
||
|
JBDC Conection pool убийца коннекций
|
|||
|---|---|---|---|
|
#18+
Какие примеры? http://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html#Common_Attributes Консалтинговые услуги: 500$ в сутки + проезд + гостиница + суточные ))) Приеду, найду потерявшуюся галочку и, даже, суточные не пожалею, что бы выпить с админом пива и попросить его больше не килять сессии. Все для заказчика. Даже своей своего здоровья (цирроза печени) мне не жалко ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2017, 18:47 |
|
||
|
JBDC Conection pool убийца коннекций
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Я просматривал эти настройки, и да, там много полезного) Но вот что, если такая ситуация всё же случилась! Что думаете, именно вы, стоит сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2017, 18:51 |
|
||
|
JBDC Conection pool убийца коннекций
|
|||
|---|---|---|---|
|
#18+
AlegiterКак разрулить эту ситуацию, чтобы пользователь ничего не увидел и была бы создана новая коннекция? Всё это не моя затея) Просто возник вопрос! И мне интересно не как этого избежать, а как это лечить) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2017, 18:56 |
|
||
|
JBDC Conection pool убийца коннекций
|
|||
|---|---|---|---|
|
#18+
Alegiter, попроси админа выдержку из vsession. Сколько коннектов ему не нравится? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2017, 19:01 |
|
||
|
JBDC Conection pool убийца коннекций
|
|||
|---|---|---|---|
|
#18+
Alegiter... И мне интересно не как этого избежать, а как это лечить Сначала создаем себе проблемы, потом их решаем. Всеобщая занятость - это хорошо! AlegiterНо вот что, если такая ситуация всё же случилась! Что думаете, именно вы, стоит сделать? я....выпить с админом пива ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2017, 19:01 |
|
||
|
JBDC Conection pool убийца коннекций
|
|||
|---|---|---|---|
|
#18+
AlegiterЯ просматривал эти настройки, и да, там много полезного) Но вот что, если такая ситуация всё же случилась! Что думаете, именно вы, стоит сделать? Вы прикалываетесь? Попробуйте добавить validationQuery в ваш pool в server.xml. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2017, 19:09 |
|
||
|
JBDC Conection pool убийца коннекций
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Т.е. если добавить этот атрибут, то это решит проблему, если админ убьёт сессию? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2017, 19:46 |
|
||
|
JBDC Conection pool убийца коннекций
|
|||
|---|---|---|---|
|
#18+
AlegiterТ.е. если добавить этот атрибут, то это решит проблему, если админ убьёт сессию? Пул будет использовать запрос, который вы укажете, чтобы проверить соединение. Если админ его убил, то проверка выдаст ошибку и пул не отдасте это соединение в приложение, а создаст новое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2017, 19:50 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39466156&tid=2122873]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
75ms |
get tp. blocked users: |
2ms |
| others: | 230ms |
| total: | 410ms |

| 0 / 0 |
