[步骤]
zhcxkj-bus-shopee内存溢出
[结果]
存在很大的list数据
堆栈文件:


at com.zhcxkj.bus.shopee.application.executor.strategy.operate.ShopeeDeleteStrategyCmdExe.createQueueList(com.zhcxkj.center.strategy.comprehensive.client.shopee.dto.ShopeeListingFilterTemplateDTO, com.zhcxkj.bus.shopee.client.shopee.dto.ShopeeStrategySourceMQTaskQry) (line: 141)
at com.zhcxkj.bus.shopee.application.executor.strategy.operate.ShopeeDeleteStrategyCmdExe.createQueueList(com.zhcxkj.center.strategy.comprehensive.client.shopee.dto.ShopeeListingFilterTemplateDTO, com.zhcxkj.bus.shopee.client.shopee.dto.ShopeeStrategySourceBaseMQTaskQry) (line: 40)
at com.zhcxkj.bus.shopee.application.executor.strategy.ShopeeStrategyBusCmdExe.execute(com.zhcxkj.bus.shopee.client.shopee.dto.ShopeeStrategySourceBaseMQTaskQry) (line: 70)
at com.zhcxkj.bus.shopee.application.service.shopee.ShopeeStrategyService.operateStrategy(com.zhcxkj.bus.shopee.client.shopee.dto.ShopeeStrategySourceMQTaskQry, java.lang.Integer) (line: 86)
at com.zhcxkj.bus.shopee.application.event.handler.shopee.ShopeeStrategyHandler.handleSourceOperateStrategy(java.lang.String, java.lang.Integer) (line: 58)
at com.zhcxkj.bus.shopee.adapter.consumer.shopee.ShopeeStrategyConsumer$2.handler(java.lang.String) (line: 55)
at com.zhcxkj.bus.shopee.adapter.consumer.shopee.ShopeeStrategyConsumer$2.handler(java.lang.Object) (line: 52)
at com.zhcxkj.common.rabbitmq.handler.BaseRabbitMqHandler.onMessage(boolean, boolean, java.lang.Object, com.rabbitmq.client.Channel, org.springframework.amqp.core.Message, com.zhcxkj.common.rabbitmq.handler.IRabbitMqListener) (line: 85)
at com.zhcxkj.common.rabbitmq.handler.BaseRabbitMqHandler.onMessage(boolean, java.lang.Object, com.rabbitmq.client.Channel, org.springframework.amqp.core.Message, com.zhcxkj.common.rabbitmq.handler.IRabbitMqListener) (line: 62)
at com.zhcxkj.bus.shopee.adapter.consumer.shopee.ShopeeStrategyConsumer.consumerSourceOperateStrategy(com.rabbitmq.client.Channel, org.springframework.amqp.core.Message) (line: 52)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.lang.reflect.Method, java.lang.Object, java.lang.Object[ ])
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[ ]) (line: 77)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[ ]) (line: 43)
at java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[ ]) (line: 568)
at org.springframework.messaging.handler.invocation.InvocableHandlerMethod.doInvoke(java.lang.Object[ ]) (line: 169)
at org.springframework.messaging.handler.invocation.InvocableHandlerMethod.invoke(org.springframework.messaging.Message, java.lang.Object[ ]) (line: 119)
at org.springframework.amqp.rabbit.listener.adapter.HandlerAdapter.invoke(org.springframework.messaging.Message, java.lang.Object[ ]) (line: 75)
at org.springframework.amqp.rabbit.listener.adapter.MessagingMessageListenerAdapter.invokeHandler(org.springframework.amqp.core.Message, com.rabbitmq.client.Channel, org.springframework.messaging.Message) (line: 262)
at org.springframework.amqp.rabbit.listener.adapter.MessagingMessageListenerAdapter.invokeHandlerAndProcessResult(org.springframework.amqp.core.Message, com.rabbitmq.client.Channel, org.springframework.messaging.Message) (line: 208)
at org.springframework.amqp.rabbit.listener.adapter.MessagingMessageListenerAdapter.onMessage(org.springframework.amqp.core.Message, com.rabbitmq.client.Channel) (line: 147)
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.doInvokeListener(org.springframework.amqp.rabbit.listener.api.ChannelAwareMessageListener, com.rabbitmq.client.Channel, java.lang.Object) (line: 1670)
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.actualInvokeListener(com.rabbitmq.client.Channel, java.lang.Object) (line: 1589)
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer$$Lambda$1498+0x0000000802aaafa0.invokeListener(com.rabbitmq.client.Channel, java.lang.Object)
at jdk.internal.reflect.GeneratedMethodAccessor302.invoke(java.lang.Object, java.lang.Object[ ])
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[ ]) (line: 43)
at java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[ ]) (line: 568)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(java.lang.Object, java.lang.reflect.Method, java.lang.Object[ ]) (line: 344)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint() (line: 198)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 163)
at org.springframework.retry.interceptor.RetryOperationsInterceptor$1.doWithRetry(org.springframework.retry.RetryContext) (line: 97)
at org.springframework.retry.support.RetryTemplate.doExecute(org.springframework.retry.RetryCallback, org.springframework.retry.RecoveryCallback, org.springframework.retry.RetryState) (line: 329)
at org.springframework.retry.support.RetryTemplate.execute(org.springframework.retry.RetryCallback, org.springframework.retry.RecoveryCallback) (line: 225)
at org.springframework.retry.interceptor.RetryOperationsInterceptor.invoke(org.aopalliance.intercept.MethodInvocation) (line: 122)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() (line: 186)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[ ]) (line: 215)
at org.springframework.amqp.rabbit.listener.$Proxy2276.invokeListener(com.rabbitmq.client.Channel, java.lang.Object)
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.invokeListener(com.rabbitmq.client.Channel, java.lang.Object) (line: 1577)
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.doExecuteListener(com.rabbitmq.client.Channel, java.lang.Object) (line: 1568)
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.executeListener(com.rabbitmq.client.Channel, java.lang.Object) (line: 1512)
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.doReceiveAndExecute(org.springframework.amqp.rabbit.listener.BlockingQueueConsumer) (line: 993)
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.receiveAndExecute(org.springframework.amqp.rabbit.listener.BlockingQueueConsumer) (line: 940)
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.access$1600(org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer, org.springframework.amqp.rabbit.listener.BlockingQueueConsumer) (line: 84)
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.mainLoop() (line: 1317)
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.run() (line: 1223)
at java.lang.Thread.run() (line: 833)
[期望]
降低数据量
删除策略服务,转需求优化