Java 在api调用后插入db时并发用户db超时问题
情况是, 我有一个Java 在api调用后插入db时并发用户db超时问题,java,spring,hibernate,spring-data,Java,Spring,Hibernate,Spring Data,情况是, 我有一个ServiceA,它在每次请求5000ms后响应AResponse 我还有ServiceB调用ServiceA(这使得调用类似于api)。并根据AResponse将数据插入数据库(当前为hsql) 我有2分贝的连接池限制。和30000ms连接超时默认值。我不想更改这些值 因此,当试图同时调用serviceB.getAndSave()方法调用100个用户时。它给用户30秒后的超时时间 //服务获取响应的方法 公共AresResponse获取数据(参数){ 试一试{ 睡眠(5000
ServiceA
,它在每次请求5000ms后响应AResponse
我还有ServiceB
调用ServiceA
(这使得调用类似于api)。并根据AResponse
将数据插入数据库(当前为hsql)
我有2分贝的连接池限制。和30000ms连接超时默认值。我不想更改这些值
因此,当试图同时调用serviceB.getAndSave()
方法调用100个用户时。它给用户30秒后的超时时间
//服务获取响应的方法
公共AresResponse获取数据(参数){
试一试{
睡眠(5000);
返回新的响应(“成功”);
}捕捉(中断异常e){
e、 printStackTrace();
返回null;
}
}
//ServiceB类具有注释@Transactional
//在ServiceB中,根据serviceA的响应将数据插入数据库。
公共getAndSave(){
AResponse AResponse=serviceA.getData(参数);
MyData MyData=新的MyData(aresponse)
保存(myData);
}
那么,我如何在没有脏数据的情况下处理这种情况,以及如何处理超时陷阱呢。顺便说一句,我所有的数据都必须正确保存