1、插件用Javassist新增一个缓存类到目标工程,类中加一个静态synchronizedlist入参是arraylist集合,用于存储数据。
2、插件开启一个socket服务端,用反射获取缓存类对象,然后获取arraylist字段,由于静态字段在内存中只有一份,存储的数据就在获取的该字段中。
3、防止缓存数据太多,可以用定时任务删除不用的数据,用循环逐条删除,循环期间不会妨碍插入数据(这个循环没加同步)。集合用同步修饰了,也不会出现数据错误
1、插件用Javassist新增一个缓存类到目标工程,类中加一个静态synchronizedlist入参是arraylist集合,用于存储数据。
2、插件开启一个socket服务端,用反射获取缓存类对象,然后获取arraylist字段,由于静态字段在内存中只有一份,存储的数据就在获取的该字段中。
3、防止缓存数据太多,可以用定时任务删除不用的数据,用循环逐条删除,循环期间不会妨碍插入数据(这个循环没加同步)。集合用同步修饰了,也不会出现数据错误
本文标题:agent插件新增缓存类,并开启socket服务端输出缓存内容
本文链接:https://www.haomeiwen.com/subject/cbffprtx.html
网友评论