ActiveMQ 5.8.0启动问题 - ERROR BrokerService - 临时存储限制为51200 mb

时间:2013-11-21 09:25:02

标签: java eclipse maven activemq m2eclipse

启动ActiveMQ的代理时遇到问题。我收到这个错误:

ERROR BrokerService - 临时存储限制为51200 mb ......

这是我已经知道的:

  1. 我知道您可以通过更改activemq broker xml配置文件来解决此问题,但我遇到的问题是我不知道文件的位置。我正在使用Maven(m2eclipse扩展)在Eclipse工作区中进行开发,因此我无法在eclipse工作区文件夹中看到二进制文件。

  2. 出于某种原因,即使这是一个“警告”,我的经纪人也不再收到消息。我知道这个错误导致了这个问题,因为如果我在另一台机器上运行代码,它就像我期望的那样工作。 (另一台机器正在运行CentOS,如果相关,我在Windows上遇到问题)

  3. 也许有办法在运行时更改此参数?

    以下是我启动经纪人的方式:

        BrokerService broker = new BrokerService();
        broker.addConnector(Constants.ACTIVEMQ_URL);
        broker.setPersistent(false);
        broker.start();
    

    谢谢!

2 个答案:

答案 0 :(得分:3)

最好在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();

答案 1 :(得分:0)

您可以按如下方式设置临时和存储限制:

BrokerService brokerService = new BrokerService();
SystemUsage systemUsage = brokerService.getSystemUsage();
systemUsage.getStoreUsage().setLimit(1024 * 1024 * 8);
systemUsage.getTempUsage().setLimit(1024 * 1024 * 8);