正在寻找反应堆调度程序的指南。
我想在后台运行某些IO任务,即向技术团队发送电子邮件。为了使其异步,我使用订阅了调度程序的Mono.fromRunnable。
我可以选择使用Schedulers.elastic()或Schedulers.newElastic()。我更喜欢后者,因为它允许我给它起一个唯一的名称,这将有助于日志分析。
可以创建一个静态变量吗?
Scheduler emailSched = Schedulers.newElastic("email");
并在Mono上订阅它,而不是每次都创建一个新的Scheduler实例?
我只找到What is the difference between Schedulers.newElastic and Schedulers.elastic methods?,对我的问题没有太大帮助。
答案 0 :(得分:1)
我应该每次创建一个新的Scheduler实例吗?
如果您不想这样做,则没有技术原因。在大多数情况下,这可能并不重要。
主要区别在于:
在您描述的情况下,这些因素都没有真正发挥作用。
与上述分开,请注意,Schedulers.boundedElastic()
现在是首选,尤其是对于包装阻塞IO(这似乎是您在此处所做的事情)。