Вопросы, глупые и не очень

Mizuwokiru

Величайший
Проверенный
Сообщения
945
Розыгрыши
0
Решения
1
Репутация
1 038
Реакции
451
Баллы
1 553
Думаю пора создать такую темку, в которой каждый может задать такой вопрос, ради которого не стоит выделять целую тему. Ну, пожалуй, начнем!

Есть ли вообще смысл пулить коннекты к бд в логинсервере? Или пул таким образом защищает от массового подключения к БД, тем самым запихивая лишних в очередь?
 

На создание нового коннекта к бд может уходить огромное кол-во времени, вплоть до пары секунд. И для того, чтобы при каждой новой транзакции к бд не приходилось заново создавать соединение, и используется пул коннектов, который кэширует их. Так что смысл определенно есть.
 
  • Мне нравится
Реакции: kick и Mizuwokiru

    Mizuwokiru

    Баллов: 4
    Без комментариев

    kick

    Баллов: 22
    Без комментариев
Можно не использовать пул. В самом начале создать количество коннектов по количеству потоков в пуле потоков и сразу положить их в ThreadLocal ;)
 
Можно не использовать пул. В самом начале создать количество коннектов по количеству потоков в пуле потоков и сразу положить их в ThreadLocal ;)
Для аутха самое то!
Еще, кстати, одну фишку не просек: допустим пул у нас полностью занят (то есть достигнут лимит соединений в пуле и они все используются в данный момент), то что происходит при создании еще одного коннекта к базе? Он создается, но не запихивается в пул, или же ожидает, пока одно соединение из пула не освободится и потом его использует? А ну-ка просветите меня, дядьки :)
 
Для аутха самое то!
Еще, кстати, одну фишку не просек: допустим пул у нас полностью занят (то есть достигнут лимит соединений в пуле и они все используются в данный момент), то что происходит при создании еще одного коннекта к базе? Он создается, но не запихивается в пул, или же ожидает, пока одно соединение из пула не освободится и потом его использует? А ну-ка просветите меня, дядьки :-)
В зависимости какой пул и какая политика/настройка выбрана. Может кидать исключение, может блокироваться до освобождения коннекта.
 
В зависимости какой пул и какая политика/настройка выбрана. Может кидать исключение, может блокироваться до освобождения коннекта.
Ну возьмем допустим джавовский dbcp, как там это обустроено?
 
Ну возьмем допустим джавовский dbcp, как там это обустроено?
Ну судя по тому, что в доках нифига нет, а в гугле все кричат на блокировку, то вывод очевиден:-) Там есть опция maxWaiting, если что.
 
В общем тут такое дело, тут у меня лабораторки по жизненному циклу ПО начались, начинаем, естественно, с самого стандартного - каскадной модели. Можно ли, используя эту модель жц, на этапах кодирования-эксплуатации использовать различные сторонние библиотеки (ну там банальщина вроде логгеров или прогрузчиков конфигурации)?
 
Назад
Сверху Снизу