WSO2 rabbitMQ-通道已创建但未关闭-内存泄漏问题

问题描述 投票:0回答:1

我正在将WSO2 ESB与RabbitMQ一起使用,我有一个代理服务和一个序列。

代理服务充当RabbitMQ队列的使用者(通过Rabbitmq传输),使用的消息将发送到HTTP端点。

该序列用作生产者以在队列中添加操作,从而调用端点。

我还有一个API,对于每个调用,该API都会插入队列中。一切正常,但是每次我们调用API时,在Rabbit队列中都会创建许多通道而不关闭它们,从而导致Rabbit服务器计算机上出现“内存泄漏”问题。

我们试图创建“直接”和“扇出”交换,但没有解决内存泄漏问题。

<< [序列号:

<sequence name="add-insertqueue-tostore" trace="disable" xmlns="http://ws.apache.org/ns/synapse"> <property name="FORCE_SC_ACCEPTED" scope="axis2" type="STRING" value="true"/> <property name="OUT_ONLY" scope="default" type="STRING" value="true"/> <call> <endpoint key="gov:endpoints/rabbit/insert-toqueue.xml"/> </call> <log level="full"> <property name="Sequence" value="AddToQueue"/> <property name="step" value="Message inserted"/> </log> <property name="FORCE_SC_ACCEPTED" scope="axis2" type="STRING" value="false"/> <property name="OUT_ONLY" scope="default" type="STRING" value="false"/> </sequence>

端点代码]之下

<endpoint name="insert-toqueue" xmlns="http://ws.apache.org/ns/synapse"> <address uri="rabbitmq:/AMQPProxy?rabbitmq.server.host.name=rabbit.server&amp;rabbitmq.server.port=5672&amp;rabbitmq.server.user.name=username&amp;rabbitmq.server.password=password&amp;rabbitmq.queue.name=queue&amp;rabbitmq.server.virtual.host=/virtual-host&amp;rabbitmq.exchange.name=exchange"/> </endpoint>

消费代码

下]<proxy name="rabbit-consumer" startOnLoad="true" trace="enable" transports="rabbitmq" xmlns="http://ws.apache.org/ns/synapse"> <target> <inSequence> <property action="remove" name="SOAPAction" scope="transport"/> <property action="remove" name="WSAction" scope="transport"/> <property name="ContentType" scope="transport" type="STRING" value="application/json"/> <property name="messageType" scope="axis2" type="STRING" value="application/json"/> <property name="HTTP_METHOD" scope="axis2" type="STRING" value="POST"/> <property expression="json-eval($.name)" name="name" scope="default" type="STRING"/> <property expression="json-eval($.surname)" name="surname" scope="default" type="STRING"/> <log level="full"/> <call-template target="my-template"> <with-param name="name" value="{get-property('name')}" xmlns:ns="http://org.apache.synapse/xsd"/> <with-param name="surname" value="{get-property('surname')}" xmlns:ns="http://org.apache.synapse/xsd"/> </call-template> <property name="OUT_ONLY" scope="default" type="STRING" value="true"/> </inSequence> <outSequence/> <faultSequence/> </target> <parameter name="rabbitmq.exchange.type">fanout</parameter> <parameter name="rabbitmq.exchange.name">exchange</parameter> <parameter name="rabbitmq.queue.name">queue</parameter> <parameter name="rabbitmq.connection.factory">AMQPConnectionFactory</parameter> </proxy>
您知道如何解决此问题吗?非常感谢

我正在将WSO2 ESB与RabbitMQ一起使用,我有一个代理服务和一个序列。代理服务充当RabbitMQ队列的使用者(通过Rabbitmq传输),使用的消息发送到HTTP ...

memory-leaks rabbitmq wso2 out-of-memory wso2esb
1个回答
1
投票
您尝试重新启动吗?

通常正常。

© www.soinside.com 2019 - 2024. All rights reserved.