启动ActiveMQ的代理时遇到问题。我收到这个错误:
ERROR BrokerService - 临时存储限制为51200 mb ......
这是我已经知道的:
我知道您可以通过更改activemq broker xml配置文件来解决此问题,但我遇到的问题是我不知道文件的位置。我正在使用Maven(m2eclipse扩展)在Eclipse工作区中进行开发,因此我无法在eclipse工作区文件夹中看到二进制文件。
出于某种原因,即使这是一个“警告”,我的经纪人也不再收到消息。我知道这个错误导致了这个问题,因为如果我在另一台机器上运行代码,它就像我期望的那样工作。 (另一台机器正在运行CentOS,如果相关,我在Windows上遇到问题)
也许有办法在运行时更改此参数?
以下是我启动经纪人的方式:
BrokerService broker = new BrokerService();
broker.addConnector(Constants.ACTIVEMQ_URL);
broker.setPersistent(false);
broker.start();
谢谢!
答案 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);