Bạn đã thử ApplicationReadyEvent chưa?
@Component
public class ApplicationStartup
implements ApplicationListener<ApplicationReadyEvent> {
/**
* This event is executed as late as conceivably possible to indicate that
* the application is ready to service requests.
*/
@Override
public void onApplicationEvent(final ApplicationReadyEvent event) {
// here your code ...
return;
}
}
Mã từ: http://blog.netgloo.com/2014/11/13/run-code-at-spring-boot-startup/
Đây là những gì tài liệu đề cập về các sự kiện khởi động:
...
Các sự kiện ứng dụng được gửi theo thứ tự sau, khi ứng dụng của bạn chạy:
Một ApplicationStartedEvent được gửi khi bắt đầu chạy, nhưng trước khi xử lý ngoại trừ việc đăng ký người nghe và người khởi tạo.
Một ApplicationEn Môi trườngPreparedEvent được gửi khi Môi trường được sử dụng trong bối cảnh được biết đến, nhưng trước khi bối cảnh được tạo.
Một ApplicationPreparedEvent được gửi ngay trước khi bắt đầu làm mới, nhưng sau khi các định nghĩa bean đã được tải.
ApplicationReadyEvent được gửi sau khi làm mới và mọi cuộc gọi lại liên quan đã được xử lý để cho biết ứng dụng đã sẵn sàng cho các yêu cầu dịch vụ.
Một ApplicationFailedEvent được gửi nếu có một ngoại lệ khi khởi động.
...