java增加注解实现异步执行任务

1.首先启动类增加注解

@EnableAsync

2.增加config

package com.xxx.config;

import org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.AsyncConfigurer;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;

import java.util.concurrent.Executor;

@Configuration
public class AsyncConfig implements AsyncConfigurer {

    @Override
    public Executor getAsyncExecutor() {
        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
        executor.setCorePoolSize(2);
        executor.setMaxPoolSize(2);
        executor.setQueueCapacity(500);
        executor.setThreadNamePrefix("AsyncExecutor-");
        executor.initialize();
        return executor;
    }

    @Override
    public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() {
        return (throwable, method, objects) -> {
            throwable.printStackTrace();
            // 可以在这里记录异常信息
        };
    }
}

 

 

3.你的service增加注解

    @Async
    @Override
    public void createPacket(ActivityPacketSettingCreateAO req) {
        // 执行任务代码
    }

完事

posted @ 2024-08-28 16:18  蜗牛使劲冲  阅读(36)  评论(0编辑  收藏  举报