如何在方法结束时关闭连接
How to close connection at the end of method
你好我想问一下如何在方法结束时关闭连接,同时调用第二个方法。
@Transactional(value = "transactionManagerDC")
public void Execute()
{
// 1. select from DB - took 2 min
ExecuteAPI()
};
public void ExecuteAPI()
{
// API CALL
};
但较长的 API 调用保持事务打开并进入理想状态并终止。如何在 API 调用方法之前提交和关闭事务。
finally {
if (session != null && session.isOpen()) {
session.close();
}
}
当使用@Transactional 注释声明事务时,当程序从注释方法控制returns 时,事务将结束(提交或回滚),正常情况下或发生异常时。
为了更好地控制事务执行,我会注入一个 PlatformTransactionManager
并以编程方式使用 TransactionTemplate
而不是这种声明式方法。
这是关于对交易进行编程控制的相当不错的教程:
https://www.baeldung.com/spring-programmatic-transaction-management
在您的示例中,您想在 API 调用之前结束事务,基本上是在选择数据之后。我不明白为什么首先需要交易。
你好我想问一下如何在方法结束时关闭连接,同时调用第二个方法。
@Transactional(value = "transactionManagerDC")
public void Execute()
{
// 1. select from DB - took 2 min
ExecuteAPI()
};
public void ExecuteAPI()
{
// API CALL
};
但较长的 API 调用保持事务打开并进入理想状态并终止。如何在 API 调用方法之前提交和关闭事务。
finally {
if (session != null && session.isOpen()) {
session.close();
}
}
当使用@Transactional 注释声明事务时,当程序从注释方法控制returns 时,事务将结束(提交或回滚),正常情况下或发生异常时。
为了更好地控制事务执行,我会注入一个 PlatformTransactionManager
并以编程方式使用 TransactionTemplate
而不是这种声明式方法。
这是关于对交易进行编程控制的相当不错的教程: https://www.baeldung.com/spring-programmatic-transaction-management
在您的示例中,您想在 API 调用之前结束事务,基本上是在选择数据之后。我不明白为什么首先需要交易。