【问题标题】:ActiveMQ 5.8.0 startup issue - ERROR BrokerService - Temporary Store limit is 51200 mbActiveMQ 5.8.0 启动问题 - 错误 BrokerService - 临时存储限制为 51200 mb
【发布时间】:2014-02-26 01:40:48
【问题描述】:
我在启动 ActiveMQ 代理时遇到问题。我收到此错误:
错误 BrokerService - 临时存储限制为 51200 mb...
这是我已经知道的:
我知道您可以通过更改 activemq 代理 xml 配置文件来解决此问题,但我遇到的问题是我不知道文件在哪里。我正在使用 Maven(m2eclipse 扩展)在 Eclipse 工作区中进行开发,因此在 Eclipse 工作区文件夹中看不到二进制文件。
出于某种原因,即使这是一个“警告”,我的代理也不再接收消息。我知道这个错误是导致问题的原因,因为如果我在另一台机器上运行代码,它会按我的预期工作。 (另一台机器正在运行 CentOS,如果相关的话,我在 windows 上遇到问题)
也许有办法在运行时更改此参数?
这是我开始代理的方式:
BrokerService broker = new BrokerService();
broker.addConnector(Constants.ACTIVEMQ_URL);
broker.setPersistent(false);
broker.start();
谢谢!
【问题讨论】:
标签:
java
eclipse
maven
activemq
m2eclipse
【解决方案1】:
最好在 broker.setPersistent(false) 之后设置系统使用情况。
如果有人更改顺序并且空间低于限制,则会出现另一条消息。
BrokerService broker = new BrokerService();
broker.addConnector(Constants.ACTIVEMQ_URL);
broker.setPersistent(false);
SystemUsage systemUsage = brokerService.getSystemUsage();
systemUsage.getStoreUsage().setLimit(1024 * 1024 * 8);
systemUsage.getTempUsage().setLimit(1024 * 1024 * 8);
broker.start();
【解决方案2】:
您可以按如下方式设置临时和存储限制:
BrokerService brokerService = new BrokerService();
SystemUsage systemUsage = brokerService.getSystemUsage();
systemUsage.getStoreUsage().setLimit(1024 * 1024 * 8);
systemUsage.getTempUsage().setLimit(1024 * 1024 * 8);