gpt4 book ai didi

Spring Batch & Azure SQL Server : SQL Server did not return a response. 连接已关闭

转载 作者:行者123 更新时间:2023-12-04 17:11:49 25 4
gpt4 key购买 nike

我有一个使用 Azure SQL 服务器的 spring 批处理应用程序,它运行没有任何问题,并且在大部分情况下更新了数据库,但是我偶尔会收到以下错误
enter image description here
enter image description here
这是什么意思?如何处理?
注:这是一个长时间运行的作业,执行时间超过 2 小时。上述错误在 ~1.45 小时后报告。
我正在使用 FlatfileReader 从 CSV 文件读取数据并使用 ItemWriter 写入 Azure SQL Server,如下所述

public class StoreWriter implements ItemWriter<List<Store>> {

Logger logger = Logger.getLogger(StoreWriter.class);

private HibernateItemWriter<Store> hibernateItemWriter;

public StoreWriter(HibernateItemWriter<Store> hibernateItemWriter) {
this.hibernateItemWriter = hibernateItemWriter;
}

@Override
public void write(List<? extends List<Store>> items) throws Exception {
for (List<Store> Store : items) {
hibernateItemWriter.write(Store);
}
logger.info(String.format("Store Processing Completed %s", new LocalDateTime()));
}
}
下面是我的 Hibernate 配置
<bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager" lazy-init="true">
<property name="sessionFactory" ref="sessionFactory" />
</bean>

<tx:annotation-driven transaction-manager="transactionManager"/>
<!-- HikariCP Database bean -->
<bean id="demoDataSource" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close">
<constructor-arg ref="hikariConfig" />
</bean>

<!-- HikariConfig config that is fed to above dataSource -->
<bean id="hikariConfig" class="com.zaxxer.hikari.HikariConfig">
<property name="maximumPoolSize" value="50" />
<property name="idleTimeout" value="30000" />
<property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver" />
<property name="url" value="jdbc:sqlserver://demo.database.windows.net:1433;database=sqldb;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;" />
<property name="username" value="user1" />
<property name="password" value="p@ssword1" /
</bean>
<bean class="org.springframework.batch.core.scope.StepScope" />

最佳答案

请尝试在提交记录的方法上使用注释“@Transactional (propagation = Propagation.REQUIRES_NEW)”。

关于Spring Batch & Azure SQL Server : SQL Server did not return a response. 连接已关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69287898/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com