Bu kolayca bir ile yapılır ApplicationListener
. Bunu Spring'in dinlemesini sağladım ContextRefreshedEvent
:
import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ContextRefreshedEvent;
import org.springframework.stereotype.Component;
@Component
public class StartupHousekeeper implements ApplicationListener<ContextRefreshedEvent> {
@Override
public void onApplicationEvent(final ContextRefreshedEvent event) {
// do whatever you need here
}
}
Uygulama dinleyicileri ilkbaharda eşzamanlı olarak çalışır. Kodunuzun yalnızca bir kez yürütüldüğünden emin olmak istiyorsanız, bileşeninizde bir durum bulundurun.
GÜNCELLEME
Spring 4.2+ ile başlayarak @EventListener
ek açıklamayı gözlemlemek için de kullanabilirsiniz ContextRefreshedEvent
(bunu belirtmek için @bphilipnyc sayesinde ):
import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ContextRefreshedEvent;
import org.springframework.stereotype.Component;
@Component
public class StartupHousekeeper {
@EventListener(ContextRefreshedEvent.class)
public void contextRefreshedEvent() {
// do whatever you need here
}
}