我遇到了將Spring Security與由MySql數據庫支持的Elastic Beanstalk應用程序集成的問題。如果我部署我的應用程序,我可以正確登錄一段時間,但最終我會開始接收登錄錯誤而不會拋出異常,因此我無法獲得有關此問題的任何有用信息。我也下載了日誌,看不到任何有價值的東西。我可以看到日誌顯示訪問公共頁面的位置,嘗試訪問私有部分,返回登錄頁面,然後返回loginError頁面;但是,沒有任何問題。如何正確配置Elastic Beanstalk應用程序的Spring Datasource?
即使我無法通過瀏覽器登錄,我可以登錄如果我從IDE運行應用程序以及在MySQL Workbench中查看數據庫。這表明問題是由於服務器上的一些持久狀態。
我使用Spring Security的另一青苗應用之前也有類似的問題,並能夠通過設置應用程序屬性來解決它,如下所示:
spring.datasource.test-on-borrow=true
spring.datasource.validation-query=SELECT 1
我使用的是不是最新版本的春天該應用程序和屬性已更改爲特定的數據源,所以我嘗試將以下屬性:
spring.datasource.tomcat.test-on-borrow=true
spring.datasource.tomcat.validation-query=SELECT 1
如果沒有工作,我添加了另一個基於一個答案,這裏類似的問題;現在屬性是:
spring.datasource.tomcat.test-on-borrow=true
spring.datasource.tomcat.test-while-idle=true
spring.datasource.tomcat.validation-query=SELECT 1
這似乎工作(可能是由於較少的登錄活動),但最終導致相同的行爲。
我已經查看了各種properties available,但在我花費大量時間隨機設置和/或覆蓋默認設置之前,我想查看是否有可靠的方法來處理此問題。
如何配置我的數據源以避免長時間登錄錯誤?