现象: 当服务启动时启用了BufferingApplicationStartup做事件缓存时,在高并发请求场景下,将会存在大量的BufferingApplicationStartup临时对象占用堆内存导致业务堆栈溢出异常。 初步定位原因: 请求上下文ContextProperties的bean定义中增加了@RefreshScope注解,每次请求时,都需要使用这个配置信息,这样会导致增加refresh事件到BufferingApplicationStartup作为缓存,在高并发场景会存在问题。
现象:
当服务启动时启用了BufferingApplicationStartup做事件缓存时,在高并发请求场景下,将会存在大量的BufferingApplicationStartup临时对象占用堆内存导致业务堆栈溢出异常。
初步定位原因:
请求上下文ContextProperties的bean定义中增加了@RefreshScope注解,每次请求时,都需要使用这个配置信息,这样会导致增加refresh事件到BufferingApplicationStartup作为缓存,在高并发场景会存在问题。