需求;
实现处理:
该数据用一个全局list接收,从kafka消费数据后写入该list,后由定时器定时写入文件推送;
遇到的问题及解决方案:
1.由于list被写入文件时,kafka可能同时在往里面写数据,故使用synchronized(list){
写入文件及推送FTP处理;
}
2.在处理数据写入流时,使用的增强for循环,导致报错concurrentModificationException:null
各种查阅问题后,将增强for循环改为for(int i = 0; i < list.size(); i++)后解决;
3.消费完数据后发现数据丢失问题:
用List list = Collections.synchronizedList(new ArrayList<>())定义,解决该问题;
消费kafka数据生成TXT文件推送给FTP遇到的一些问题
最新推荐文章于 2023-04-28 16:08:14 发布