Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java spring.transaction.default-timeout属性在spring引导中不起作用_Java_Spring Boot_Jpa_Microservices_Spring Transactions - Fatal编程技术网

Java spring.transaction.default-timeout属性在spring引导中不起作用

Java spring.transaction.default-timeout属性在spring引导中不起作用,java,spring-boot,jpa,microservices,spring-transactions,Java,Spring Boot,Jpa,Microservices,Spring Transactions,我正在构建一个微服务,并使用MYSQL作为数据库和Spring引导框架。我在application.properties中提供了数据库属性,在属性文件中提供了“spring.transaction.default timeout=10”。我没有显式初始化datasource和entitymanager。使用由spring自动配置的 现在的问题是-: 由于数据库表上的其他事务获取了锁,我的一些事务仍处于阻塞状态。如果等待时间超过10秒,我想取消交易。我已经按照上面提到的配置了属性。但这对我不起作用

我正在构建一个微服务,并使用MYSQL作为数据库和Spring引导框架。我在application.properties中提供了数据库属性,在属性文件中提供了“spring.transaction.default timeout=10”。我没有显式初始化datasource和entitymanager。使用由spring自动配置的

现在的问题是-:

由于数据库表上的其他事务获取了锁,我的一些事务仍处于阻塞状态。如果等待时间超过10秒,我想取消交易。我已经按照上面提到的配置了属性。但这对我不起作用

注意-:我已经显式初始化了datasource、entitymanager和JtaPlatfromtransaction manager。但还是不为我工作

请帮我解决这个问题


提前谢谢

如果您自己配置了
PlatformTransactionManager
,则该属性将无效。如果手动配置事务管理器,则需要自己调用
setDefaultTimeout(int)
。我将默认超时设置为setDefaultTimeout(10),但不工作。如果使用
JtaPlatformTransactionManager
则超时映射为调用
UserTransaction.setTransactionTimeout(timeout)
。具体的行为方式将取决于您使用的底层JTA实现和MySQL。很明显,MySQL可能不支持您希望的超时。MySQL默认的50秒超时有效,但spring超时无效。我已经尝试了所有的方法。