Pool de coneções do hibernate

Boa tarde,

Estou com uma duvida sobre esse pool de conexões do hibernate conforme abaixo:

[color=red]
com.mysql.jdbc.Driver
org.hibernate.dialect.MySQLInnoDBDialect

	<property name="hibernate.connection.url">ssss</property>
	<property name="hibernate.connection.username">kkk</property>
	<property name="hibernate.connection.password">111</property>
	<property name="current_session_context_class">thread</property>  
	<property name="hibernate.show_sql">false</property>
	<property name="hibernate.format_sql">true</property>
	<property name="hibernate.bytecode.use_reflection_optimizer">true</property>
	<property name="hibernate.c3p0.max_size">20</property>
	<property name="hibernate.c3p0.min_size">5</property>
	<property name="hibernate.c3p0.timeout">180</property>
	<property name="hibernate.c3p0.max_statements">100</property>

[/color]

acho q o pool não está funcionando como deveria…
quando eu acesso o sistema eu abro uma conexão com o banco … mas quando dou o comando SHOW PROCESSLIST para ver quantas conexões foram abertas com o banco,… a minha conexão que abriu na hora que eu acessei o sistema ja sumiu… quando meu sistema executa alguma sql no banco… ela aparece na lista de conexões mas logo depois ela some…
usando o pool ela não teria que ficar aberta ou sleep?.. o pool não é justamente para que alguem(outro usuario acessar o sistema) usar está conexão aberta??
pra não precisar ficar criando e fechando conexão com o banco toda hora??? deixando o sistema mais lento???

se alguem puder esclarecer minha dúvida… agradeço desde já

vlww

Imagine só se 5 conexões ficarem abertas como você falou… Se 5 usuários acessarem o sistema e continuarem logados, então mais ninguém poderá acessar?

O pool serve para garantir que seu sistema não ficará no limite aceitando muitas conexões simultâneas. Através deste pool é possível dizer que você quer apenas N conexões simultâneas a seu banco, porém assim que você terminar de usá-la ela será novamente liberada para outra pessoa.

então entendi oq vc falou…

então essas conexões não ficam abertas… ou em sleep??? ela é criada na hora de usar o banco e logo depois é fechada né?

eu acabei de testar aqui… eu tirei fora o pool(que está em vermelho a cima)… e não mudou nada??? será q esse pool ta criado no lugar certo???
em que xml eu configuro isso… alguem tem um exemplo???

Então mais uma coisa… se alguem puder ajudar
]
estou usando spring, hibernate…
em nenhum momento abro conexao com o banco no codigo…
quem faz isso pra mim é o spring???
ele que abre e fecha a conexão???

meu data source está assim

não estou entendendo como abre e fecha conexões com o banco… quem faz isso???

???