구독자가없는 ActiveMQ 브로커의 큐에 메시지를 추가 할 때 큐가 가득 차고 결국 프로듀서 스레드가 중지되어 더 이상 메시지를 게시 할 수 없습니다.구독자가 없을 때 ActiveMQ에서 메시지 만료
이 문제를 해결하기 위해 메시지에 만료를 설정하여 메모리를 확보 할 수 있다고 생각했지만 불행히도이 방법은 작동하지 않습니다. 아무도 내가 문제를 해결할 수있는 방법을 알고 있습니까?
내 브로커의 ActiveMQ 버전은 5.7이며, 브로커의 정의는 다음과 같습니다는 메모리 사용량이 보이는 브로커 미세 (0 % 사용) 및 만료 된 수에 더 이상 메시지를 게시 할 수없는 때
<bean id="mqBroker" class="org.apache.activemq.broker.BrokerService" init-method="start" destroy-method="stop">
<property name="brokerName" value = "mainBroker"/>
<property name="persistent" value="false"/>
<property name="useJmx" value="false"/>
<property name="transportConnectorURIs">
<list>
<value>tcp://localhost:7000</value>
</list>
</property>
</bean>
이 JConsole의에서 찾고 = 게시 횟수.
<jms:outbound-channel-adapter
channel="jsonChannel"
connection-factory="jmsConnectionFactory"
pub-sub-domain="false"
destination-name="MY_QUEUE"
time-to-live="60000"
wxplicit-qos-enabled="true" />
시간을 60 초로 설정했습니다. 위의 코드 편집을 참조하십시오. 또한 메시지가 성공적으로 생성되는 동안 JConsole의 큐에있는 ExpiredCount 속성이 만료 시간 (60 초) 후에 각 메시지에 대해 증가하고, – James