【发布时间】:2019-05-25 17:02:27
【问题描述】:
我正在连接到 Azure SQL 数据库,我的下一个任务是在连接失败时创建自定义重试逻辑。我希望重试逻辑在启动时(如果需要)以及在应用程序运行时出现连接故障的任何时候都运行。我做了一个测试,我从我的应用程序中删除了 IP 限制,然后导致我的应用程序出现异常(如例外)。我想在抛出异常时进行处理,以便我可以触发一个验证应用程序和服务器配置正确的作业。我正在寻找可以处理这些异常并重试数据库事务的解决方案?
数据源配置
@Bean
@Primary
public DataSource dataSource() {
return DataSourceBuilder
.create()
.username("username")
.password("password")
.url("jdbc:sqlserver://contoso.database.windows.net:1433;database=*********;user=******@*******;password=*****;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;")
.driverClassName("com.microsoft.sqlserver.jdbc.SQLServerDriver")
.build();
}
application.properties
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.SQLServerDialect
spring.jpa.show-sql=true
logging.level.org.springframework.web: ERROR
logging.level.org.hibernate: ERROR
spring.datasource.tomcat.max-wait=10000
spring.datasource.tomcat.max-active=1
spring.datasource.tomcat.test-on-borrow=true
spring.jpa.hibernate.ddl-auto=update
【问题讨论】:
标签: spring-data-jpa spring-data azure-sql-database hikaricp spring-retry