0
ScheduledExecutorService
用于bean构造函数,它应该在spring启动时运行。junit spring引导ScheduledExecutorService计划不运行
@RestController
public class TestController {
ScheduledExecutorService service = Executors.newScheduledThreadPool(1);
public TestController() {
service.schedule(() -> {
// task
}, 0, TimeUnit.SECONDS);
service.shutdown();
}
但是,有时候,任务永远不会被调用。而在调试模式下,service.shutdown()
为服务为:
active threads = 1, queued tasks = 0, completed tasks = 0
虽然这不会发生的事情。当它运行,因为我认为它应该在同一行的服务对象既提供了排队的任务或完成的任务1. 这JUnit测试期间只发生,
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest()
@AutoConfigureMockMvc
public class ScheduledExecutorServiceTest {
@Test
public void test() {
}
}
我不认为关机会导致问题。因为断点是在它之前设置的。 – Tiina