Code: Select all
@Component
public class ElaborazioneEventi {
private static final Logger logger = LoggerFactory.getLogger(ElaborazioneEventi.class);
@Scheduled(cron = "0/5 * * * * *")
public void elaborazioneEventi() throws JsonProcessingException {
System.out.println(Thread.currentThread().getName() + " " + new Date());
}
Für meine Anwendung gibt es mehrere JUnit-Testklassen (die das tun). keine geplanten Methoden testen) und zwei Klassen, die zwei mit @Scheduled annotierte Methoden testen.
Die für diese Diskussion interessante Testklasse ist die folgende
Code: Select all
@SpringBootTest
@SpringJUnitConfig(Application.class)
@RunWith(SpringRunner.class)
public class ElaborazioneEventiTest {
@Autowired
private A4gtNprElaborazioneEventoRepository a4gtNprElaborazioneEventoRepository;
@Test
@Sql(scripts = {"/sql/eventi/delete_elaborazione_eventi.sql"}, executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD)
@Sql(scripts = {"/sql/eventi/insert_elaborazione_eventi.sql"}, executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD)
@Sql(scripts = {"/sql/eventi/delete_elaborazione_eventi.sql"}, executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD)
public void batchGiaInEsecuzioneTest() throws InterruptedException {
List eventi = a4gtNprElaborazioneEventoRepository.findAll();
System.out.println("eventi presenti: " + eventi.size());
A4gtNprElaborazioneEventoModel a4gtNprElaborazioneEventoModel = new A4gtNprElaborazioneEventoModel();
a4gtNprElaborazioneEventoModel.setDataInizioElaborazione(new Timestamp(Utils.convertStringToDate("24/12/2024 13:41:55", "DD/MM/YYYY HH:mm:SS").getTime()));
a4gtNprElaborazioneEventoModel.setFlagStopElaborazione(new BigDecimal(0));
a4gtNprElaborazioneEventoModel.setStatoElaborazione(new BigDecimal(0));
a4gtNprElaborazioneEventoRepository.save(a4gtNprElaborazioneEventoModel);
Thread.currentThread().sleep(5000);
eventi = a4gtNprElaborazioneEventoRepository.findAll();
System.out.println("eventi presenti dopo la insert: " + eventi.size());
assertTrue(eventi.size() == 2);
}
}
Code: Select all
eventStoreSchedulerMultiEventPool3 Sun Dec 29 09:41:00 CET 2024
eventStoreSchedulerMultiEventPool2 Sun Dec 29 09:41:00 CET 2024
eventStoreSchedulerMultiEventPool2 Sun Dec 29 09:41:00 CET 2024
eventStoreSchedulerMultiEventPool1 Sun Dec 29 09:41:00 CET 2024
eventStoreSchedulerMultiEventPool1 Sun Dec 29 09:41:00 CET 2024
eventStoreSchedulerMultiEventPool2 Sun Dec 29 09:41:05 CET 2024
eventStoreSchedulerMultiEventPool1 Sun Dec 29 09:41:05 CET 2024
eventStoreSchedulerMultiEventPool2 Sun Dec 29 09:41:05 CET 2024
eventStoreSchedulerMultiEventPool3 Sun Dec 29 09:41:05 CET 2024
eventStoreSchedulerMultiEventPool3 Sun Dec 29 09:41:05 CET 2024
eventStoreSchedulerMultiEventPool3 Sun Dec 29 09:41:10 CET 2024
eventStoreSchedulerMultiEventPool3 Sun Dec 29 09:41:10 CET 2024
eventStoreSchedulerMultiEventPool1 Sun Dec 29 09:41:10 CET 2024
eventStoreSchedulerMultiEventPool1 Sun Dec 29 09:41:10 CET 2024
eventStoreSchedulerMultiEventPool5 Sun Dec 29 09:41:10 CET 2024
eventStoreSchedulerMultiEventPool5 Sun Dec 29 09:41:15 CET 2024
eventStoreSchedulerMultiEventPool2 Sun Dec 29 09:41:15 CET 2024
eventStoreSchedulerMultiEventPool1 Sun Dec 29 09:41:15 CET 2024
eventStoreSchedulerMultiEventPool3 Sun Dec 29 09:41:15 CET 2024
eventStoreSchedulerMultiEventPool1 Sun Dec 29 09:41:15 CET 2024