1
我的應用程序使用下面的框架和應用服務器:如何跟上春天開機,休眠和WebSphere Application Server連接
春季啓動(1.5.4.RELEASE)與休眠。
的WebSphere Application Server自由的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
然而,我發現同春啓動1.3+,我們必須用他們各自的前綴(spring.datasource.tomcat。,spring.datasource.hikari。,春季使用的特定實現設置。 datasource.dbcp2。*)和(顯然)不支持Websphere Application Server Liberty Profile。
我的問題是我應該如何配置以保持連接活着(或更新它們)?
預先感謝您!
實現取決於你的數據源而不是你的應用服務器。從您使用'spring.datasource'的事實判斷,我假設您沒有使用'spring.datasource.jndi-name',因此您正在使用其中一個受支持的連接池。如果沒有,'spring.datasource'屬性(除了'jndi-name'之外)幾乎沒有用,因爲應該在你的應用服務器中配置這些屬性。 –
謝謝你的幫助!正如您所設想的,我使用'spring.datasource.url'而不是'spring.datasource.jndi-name'。當我使用'spring.datasource.url'時,有沒有辦法激活'spring.datasource。*'屬性? @ M.Deinum –