c3p0 maxIdleTime - это то же самое, что и wait_timeout в mysql?

У меня проект Spring MVC + Mysql (JDBC 4) + c3p0 0.9.2.

В c3p0 maxIdleTime значение равно 240 (то есть 4 минуты) и wait_timeout в my.ini Mysql до 30 секунд.

В соответствии с c3p0

maxIdleTime: (по умолчанию: 0) секунды соединение может оставаться в пуле, но не использоваться до сброса. Ноль означает, что время простоя соединения никогда не истекает.

Согласно Mysql

wait_timeout: Количество секунд, в течение которых сервер ожидает активности на неинтерактивном соединении, прежде чем закрывать его.

Теперь у меня есть некоторые дураки по этому вопросу: (некоторые ответы мне известны, просто хотел убедиться, что я прав или нет)

  1. неиспользуемое соединение означает соединение, которое в состоянии sleep согласно mysql (?)
  2. Что такое интерактивные и неинтерактивные соединения?
  3. Являются ли неиспользуемые соединения и неинтерактивные соединения одинаковыми? потому что мой DBA установил wait_timeout на 30 секунд (он приходит к этому значению, наблюдая за сервером БД, так что очень мало соединений находится в спящем режиме), это означает, что соединение может находиться в режиме sleep в течение 30 секунд, после чего оно будет быть закрытым, но с другой стороны c3p0 имеет значение maxIdleTime, равное 240 секундам, так что же это за maxIdleTime настройка, играющая роль в этом случае.
  4. Что такое interactive_timeout?
8
задан Amogh 7 July 2014 в 06:19
поделиться