嵌入式ActiveMQ的启动错误:临时存储限制为51200 mb [英] Startup error of embedded ActiveMQ: Temporary Store limit is 51200 mb

查看:421
本文介绍了嵌入式ActiveMQ的启动错误:临时存储限制为51200 mb的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个Spring Web应用程序,可以发送和监听独立的ActiveMQ。
当我启动Web应用程序时,它显示:

I have a Spring web application which will send and listen on a standalone ActiveMQ. When I start the web application, it shows:

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

我用Google搜索并阅读了很多文章,它们都是指配置代理和systemusage来限制临时存储大小。
但是,我不知道如何在Spring配置中执行此操作。下面是我的配置XML。

I googled and read many articles, they all refer to configure broker and systemusage to limit the temp store size. However, I do not how to do this in Spring configuration. Below is my configuration 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" />

请帮我离开这里,谢谢!

Please help me out of here, THANKS!

推荐答案

在你的 activeMQ.xml 中你会有一些像这样的配置

In your activeMQ.xml you would have some configuration like this

<systemUsage>
   <systemUsage>
      ....
      <tempUsage>
         <tempUsage limit="50 gb"/>
      </tempUsage>
   </systemUsage>
</systemUsage>

您需要指定磁盘上可用的值,因为错误明确提到只有29021您需要将MB的可用空间设置为< tempUsage limit =50 gb/> ,使其值小于您的可用空间

you need to specify a value which is available on your disk,as error clearly mentions there is only 29021 MB of free space you need to set <tempUsage limit="50 gb"/> to a value lesser than your free space

你可以做类似< tempUsage limit =20 gb/>

希望这会有所帮助!

祝你好运!

这篇关于嵌入式ActiveMQ的启动错误:临时存储限制为51200 mb的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆