gpt4 book ai didi

java - 在 spring boot 中创建预定方法的最佳实践

转载 作者:行者123 更新时间:2023-11-30 07:43:25 24 4
gpt4 key购买 nike

<分区>

从下一个(或您的变体)创建调度程序的最佳方式是什么:

1) 对于一个预定的方法,创建一个组件并从此方法调用服务:

@Component
public class MyScheduler {

private final MyService myService;

public MyScheduler(MyService myService) {
this.myService= myService;
}

@Scheduled(fixedDelay = 1L)
public void process() {
myService.startSomethig();
}
}

2) 为所有调度的方法创建一个组件并为具体方法启动服务:

@Component
public class MySchedulers {

private final MyService1 myService1;
private final MyService2 myService2;
private final MyService3 myService3;

public MySchedulers (MyService1 myService1, MyService2 myService2, MyService3 myService3) {
this.myService1 = myService1;
this.myService2 = myService2;
this.myService3 = myService3;
}

@Scheduled(fixedDelay = 100L)
public void process() {
myService1.startSomethig();
}

@Scheduled(fixedDelay = 666L)
public void process() {
myService2.startAny();
}

@Scheduled(fixedDelay = 999L)
public void process() {
myService3.startAll();
}
}

3) 在每个concreate服务中创建预定方法:

@Service
public class MyServiceImpl implements MyService {

//filds, constructor

@Scheduled(fixedDelay = 100L)
public void process() {
startSomethig();
}

@Transactional
@Override
public void startSomethig() {
//...
}

哪种方法更好?也许还有其他人?我很高兴听到你的意见

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com