Я пишу программу, которая выполняет много потоков одновременно (параллельно), я использую TaskExecutor.AssertionError при использовании TaskExecutor
@Autowired TaskExecutor threadPoolTaskExecutor;
@Test
public void testSpringTaskExecutor()
throws InterruptedException {
assertNotNull(threadPoolTaskExecutor);
for (int k = 0; k < 5; k++) {
Runnable myThread =
new Workflow(new AtomicInteger(k));
threadPoolTaskExecutor.execute(myThread);
}
Thread.sleep(500);
logger.info("Finished all threads");
}
Когда я проверил свой код, был поднят AssertionError exeption. Я использую Spring Framework для управления исполнением.
здесь экран журнала:
Exception in thread "main" java.lang.AssertionError
at org.junit.Assert.fail(Assert.java:92)
at org.junit.Assert.assertTrue(Assert.java:43)
at org.junit.Assert.assertNotNull(Assert.java:526)
Любой есть идеи, пожалуйста :) Спасибо
Что вы ожидаете ? Где вы инициализировали исполнитель задачи пула потоков? – Ingo
класс, который реализует метод testSpringTaskExecutor, наследует от другого класса, который получает контекст из файла конфигурации @ContextConfiguration (classes = {JavaConfigurator.class}) , и я использую аннотацию @Autowired ApplicationContext sprinCtx; –
Все это хорошо и хорошо, но, очевидно, это не инициализировало его, не так ли? – Ingo