伙计我可以在遗留应用程序中看到下面的代码。一旦我运行main
方法,我发现这个Thread一直在运行。
但是在调试时,为什么Thread会永远运行?
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MyClass {
public static void main(String[] args) {
ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext(ResourcesFactoryApplicationContext.getInstance());
applicationContext.registerShutdownHook();
applicationContext.setAllowBeanDefinitionOverriding(false);
applicationContext.setConfigLocation("configFileName");
applicationContext.refresh();
}
}
答案 0 :(得分:0)
进程继续运行的原因是还有非守护程序线程仍在运行。从您的代码中,主线程必须已终止,因此应用程序必须已启动其中一个bean中的其他线程。