发现前端页面有丢数据情况,查数据报送,发现数据汇报正常; 由于接收端,一直都认为是单线程在跑的,所以很费解; 第一个坑:logback日志,记录的线程名,由于重复加载的线程名称是一致的,但线程号不一致,可惜没有打jstack,所以加深了误解; 第二个坑,servelet,没有指定2,所以造成,只有http请求过来的时候才会去进行重复加载; 第三个坑:在程序启动的时候,为了能够实现一个服务的注册,从而手动去new 了一个applicationContext;
applicationContext = new ClassPathXmlApplicationContext(“spring/applicationContext.xml”, “spring/dal-config.xml”); ThriftServer thriftServer = applicationContext.getBean(ThriftServer.class); thriftServer.start(); 所以在jetty启动的时候,造成了重复加载;
问题总结:首先没有采用jstack去查看线程的实际情况,很失败; 其次:没有想办法去定位多线程的实际情况,失败,实际上日志已经打出来了,可以确定是多线程或者多次加载了; 最后:对spring 和servlet 加载不熟悉; 再后:@PostConstruct 用这个注解进行初始化,不要用getBean 再去用对象调方法初始化;
转载请注明原文地址: https://ju.6miu.com/read-658634.html