2013-11-21 40 views
1

我在啓動ActiveMQ的代理時遇到問題。我得到這個錯誤:ActiveMQ 5.8.0啓動問題 - 錯誤BrokerService - 臨時存儲限制爲51200 MB

錯誤的BrokerService - 臨時存儲上限爲51200 MB ...

以下是我已經知道:

  1. 我知道,你可以通過改變ActiveMQ的解決這個問題broker xml配置文件,但是我遇到的問題是我不知道文件在哪裏。我正在使用Maven(m2eclipse擴展)在Eclipse工作區中開發,因此我無法在eclipse工作區文件夾中看到二進制文件。

  2. 由於某些原因,即使這是「警告」,我的經紀人不再接收消息。我知道這個錯誤導致了這個問題,因爲如果我在另一臺機器上運行代碼,它會按我的預期工作。 (另一臺機器正在運行CentOS,如果有問題,我在Windows上遇到問題)

也許有沒有辦法在運行時更改此參數?

這是怎麼了啓動代理:

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

謝謝!

回答

2

這是更好地設置後broker.setPersistent(假)的系統使用。 如果更改訂單並且空間低於限制,則會發生另一個消息。

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(); 
0

您可以設置臨時和存儲限制如下:

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