Spring Boot:在新线程中更新操作

时间:2017-04-21 07:17:13

标签: java spring multithreading groovy

我的springboot应用程序中有customDao,如下所示

@Component
public class CustomDao {

    private final JdbcTemplate jdbcTemplate

    @Autowired
    private PlatformTransactionManager transactionManager;

    def logger = LoggerFactory.getLogger(this.class);
    @Autowired
    public CustomDao(JdbcTemplate template) {
        this.jdbcTemplate = template
    }


    public insertRecord(sql,params){
        //insert
    }

    public updateRecord(sql,params){
       //update
    }
}

我试图在新线程中异步进行更新操作,我在线程上没有多少工作,有人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

您可以将updateRecord方法修改为:

public void updateRecord(sql, params) {
    Thread t = new Thread() {
        //Your code to update here
    }
    t.start();
}

Thread t = new Thread() {...}将创建一个新线程来执行指定的工作,t.start()将在后台运行该线程。

答案 1 :(得分:1)

您应该使用@Async来处理Spring中的异步任务。您可以找到示例here