我注意到我的bean 在jar的spring-boot应用程序上一次调用了@PostConstruct
,init()
并且@Scheduled
两次。这是初始化两次的示例bean。
@Component
@ConfigurationProperties(prefix = "task")
public class CancelTask {
private static Logger log = LoggerFactory.getLogger(CancelTask.class);
@PostConstruct
public void init() {
log.info("CancelTask init:{}", this);
printStackTrace();
}
private void printStackTrace() {
StackTraceElement[] stackElements = new Throwable().getStackTrace();
StringBuilder sb = new StringBuilder();
if (stackElements != null) {
for (int i = 0; i < stackElements.length; i++) {
sb.append("" + stackElements[i] + "\n");
}
}
log.info(sb.toString());
}
@Scheduled(cron = "0 */1 * * * ?")
public void …
Run Code Online (Sandbox Code Playgroud) spring-boot ×1