代码改变世界

快速将任务改为异步

2022-06-16 15:47  通往神之路  阅读(51)  评论(0编辑  收藏  举报

1、先定义一个任务执行器

package org.springframework.core.task;

import java.util.concurrent.Executor;

@FunctionalInterface
public interface TaskExecutor extends Executor {
    void execute(Runnable task);
}

2、使用的时候注入改接口,这里举例JPA使用

    @Nonnull
    private final TaskExecutor taskExecutor;

3、具体例子,上传任务的方法   upload(storagePlugin, path, file, contentType)

  /**
     * 添加文件上传任务
     *
     * @param storagePlugin 存储插件
     * @param path          上传路径
     * @param file          文件
     * @param contentType   文件类型
     */
    private void addUploadTask(final StoragePlugin storagePlugin, final String path, final File file, final String contentType) {
        taskExecutor.execute(() -> upload(storagePlugin, path, file, contentType));
    }