В моем приложении используются следующие фреймворки и сервер приложений:
Spring Boot (1.5.4.RELEASE) с переходом в спящий режим.
Websphere Application Server Liberty для Java на Bluemix
Приложение работает нормально, однако после тайм-аута соединения в течение нескольких часов. См. Следующее исключение:
2017-09-01T11:40:40.57+0900 [APP/PROC/WEB/0] OUT 2017-09-01 02:40:40,563 [http-nio-8080-exec-2] [5baba2cb-5bfd-4846-b8e0-8782aa729639] [] WARN o.h.e.jdbc.spi.SqlExceptionHelper [SqlExceptionHelper.java:127] - SQL Error: -4499, SQLState: 08001
2017-09-01T11:40:40.58+0900 [APP/PROC/WEB/0] OUT or socket output stream. Error location: Reply.fill() - socketInputStream.read (-1). Message: Connection timed out (Write failed). ERRORCODE=-4499, SQLSTATE=08001
Я знаю, что для загрузки Spring необходимо установить свойства конфигурации в application.properties.
spring.datasource.testOnBorrow=true
spring.datasource.testWhileIdle=true
spring.datasource.timeBetweenEvictionRunsMillis=60000
spring.datasource.numTestsPerEvictionRun=3
spring.datasource.minEvictableIdleTimeMillis=600000
spring.datasource.validationQuery=SELECT 1
Однако я обнаружил, что в Spring boot 1.3+ мы должны использовать настройки, зависящие от реализации, используя их соответствующий префикс (spring.datasource.tomcat. , spring.datasource.hikari. и spring.datasource. dbcp2. *) и (очевидно) НЕ ПОДДЕРЖИВАЕТ Websphere Application Server Liberty Profile.
У меня вопрос: как мне настроить, чтобы соединения оставались активными (или возобновляли их)?
Заранее спасибо!
spring.datasource
, я предполагаю, что вы не используетеspring.datasource.jndi-name
и, следовательно, используете один из поддерживаемых пулов подключений. В противном случае свойстваspring.datasource
(кромеjndi-name
) в значительной степени бесполезны, поскольку они должны быть настроены на сервере приложений. - person M. Deinum   schedule 04.09.2017spring.datasource.url
вместоspring.datasource.jndi-name
. Есть ли способ активировать свойстваspring.datasource.*
, когда я используюspring.datasource.url
??? @ M.Deinum - person Taketo Matsunaga   schedule 04.09.2017