import com.google.common.util.concurrent.ThreadFactoryBuilder;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.LinkedBlockingDeque;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
/**
* @Auther: liyue
* @Date: 2021/1/25 16:06
* @Description:
*/
@Component
@Configuration
@EnableScheduling
public class Task {
private ExecutorService executorService = new ThreadPoolExecutor(5, 20,
3000, TimeUnit.MILLISECONDS, new LinkedBlockingDeque<>(10), new ThreadFactoryBuilder()
.setNameFormat("Task-impl-%d").build());
@Scheduled(cron = "0 0 0 * * ? ")
public void task1() {
executorService.execute(() -> {
});
}
}
maven 依赖
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>18.0</version>
</dependency>