我试图在Spring Boot中创建一个套接字线程。这是Spring Framework中的初始启动类。
@Component
public class InitialStartUp implements ApplicationListener<ContextRefreshedEvent> {
private Logger logger = LoggerFactory.getLogger(getClass());
@Override
public void onApplicationEvent(ContextRefreshedEvent event) {
// Start the Socket server
try {
ListenerSocket listenerSocket = new ListenerSocket();
listenerSocket.run();
logger.info("Starting listener socket server"); // <-- Never called
} catch (Exception e) {
logger.info(e.getMessage());
}
}
}
但是问题是上面的logger.info方法将永远不会被调用。为什么? Spring Boot运行listenerSocket线程,但从不“退出”。为什么?
有什么办法可以使logger.info被调用?