发现前端页面有丢数据情况,查数据报送,发现数据汇报正常;
由于接收端,一直都认为是单线程在跑的,所以很费解;
第一个坑: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 再去用对象调方法初始化;