Ich habe eine Spring-Webanwendung, die auf einem eigenständigen ActiveMQ senden und hören wird. Wenn ich die Web-Anwendung zu starten, es zeigt:Startfehler von Embedded ActiveMQ: Temporäre Speichergrenze ist 51200 MB
20:12:52.684 [localhost-startStop-1] ERROR o.a.activemq.broker.BrokerService - Temporary Store limit is 51200 mb, whilst the temporary data directory: /root/activemq-data/localhost/tmp_storage only has 29021 mb of usable space
ich gegoogelt und viele Artikel lesen, sie alle konfigurieren Broker und systemusage beziehen sich die temporäre Speichergröße zu begrenzen. Allerdings mache ich das nicht in Spring-Konfiguration. Unten ist meine Konfigurations-XML.
<bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="${jms.broker_url}" />
</bean>
<bean id="cachingConnectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory">
<property name="targetConnectionFactory" ref="connectionFactory" />
<property name="sessionCacheSize" value="10" />
</bean>
<bean id="recvQueue" class="org.apache.activemq.command.ActiveMQQueue">
<constructor-arg value="q.recv" />
</bean>
<bean id="sendQueue" class="org.apache.activemq.command.ActiveMQQueue">
<constructor-arg value="q.send" />
</bean>
<bean id="notifyQueue" class="org.apache.activemq.command.ActiveMQQueue">
<constructor-arg value="q.notify" />
</bean>
<!-- Spring JMS Template -->
<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory" ref="cachingConnectionFactory" />
</bean>
<bean id="batchImplMessageProducer" class="com.seebon.spfcore.repository.jms.BatchImplMessageProducer">
<property name="jmsTemplate" ref="jmsTemplate" />
<property name="sendQueue" ref="sendQueue" />
<property name="recvQueue" ref="recvQueue" />
<property name="notifyQueue" ref="sendQueue" />
</bean>
<bean id="advancedQueueContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="connectionFactory" />
<property name="destination" ref="recvQueue" />
<property name="messageListener" ref="recvBatchImplMessageListener" />
<property name="concurrentConsumers" value="5" />
<property name="maxConcurrentConsumers" value="10" />
</bean>
<bean id="recvBatchImplMessageListener" class="com.seebon.spfcore.repository.jms.RecvBatchImpMessageListener" />
Bitte helfen Sie mir hier raus, DANKE!
Vielen Dank für Hilfe. Aber ich habe diese Konfigurationsdatei nicht in meiner Web App, sollte ich eine erstellen? Will ActiveMQ es automatisch lesen? – BurnetZhong
Die Datei wird dort angezeigt, wo Ihre activemq-Instanz ausgeführt wird, d. H. An dem Ort, an dem Sie eine Verbindung mit Ihrem Broker herstellen. I. e your {broker_url} Wenn Sie uns diese URL zeigen, können wir darauf hinweisen – Vihar
Nochmals vielen Dank. Mein ActiveMQ wird auf demselben Computer gehostet, also ist es localhost. – BurnetZhong