У меня есть PU, который настроен следующим образом
<persistence-unit name="buses_EL" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<shared-cache-mode>ALL</shared-cache-mode>
<properties>
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/buses_db"/>
<property name="javax.persistence.jdbc.password" value="***"/>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
<property name="javax.persistence.jdbc.user" value="***"/>
<property name="eclipselink.ddl-generation" value="create-tables"/>
<property name="eclipselink.target-database" value="MySQL"/>
<property name="eclipselink.jdbc.connections.initial" value="5"/>
<property name="eclipselink.jdbc.connections.min" value="5"/>
<property name="eclipselink.jdbc.connections.max" value="50"/>
</properties>
</persistence-unit>
Первый запрос к БД идет очень долго. Понятное дело, лениво инициализируется pool. После этого все летает. Если оставить в покое на некоторое время, например часов на 5 и совсем не заходить на сайт, то процедура повторяется.
Подозрение: оно или отключается или просто выгружается из кеша. Такое поведение крайне нежелательно.
Как обычно вы делаете Connection pool? Может что-то можна сделать без больших изменений типо переписывания кода, какая нибудь опция?