我将ActiveMQ 5.15.2与具有VM传输的嵌入式代理一起使用。我想知道是否可以在代理URI上设置systemUsage限制值。如果我不尝试设置systemUsage就开始...
BrokerService broker = BrokerFactory.createBroker("broker:(vm://myBrokerName)?brokerName=myBrokerName&useJmx=false&dataDirectory=/myDataDirectory/");
SystemUsage su = broker.getSystemUsage();
su.getMemoryUsage().setLimit(memLimit * 1024L * 1024L);
su.getStoreUsage().setLimit(storeLimit * 1024L * 1024L * 1024L);
su.getTempUsage().setLimit(tempLimit * 1024L * 1024L * 1024L);
一切顺利,ActiveMQ启动。
但是,如果我尝试在代理URI中设置systemUsage部分(最后4行),例如:
BrokerService broker = BrokerFactory.createBroker("broker:(vm://myBrokerName)?brokerName=myBrokerName&useJmx=false&dataDirectory=/myDataDirectory/&systemUsage.memoryUsage.limit=1048576");
然后ActiveMQ抱怨:
不能在BrokerService上设置1个Broker选项。检查选项拼写是否正确。未知参数= [{systemUsage.memoryUsage.limit = 1048576}]。无法启动此BrokerService。
只是想知道我们是否可以将systemUsage设置为属性。当然,我知道使用xml配置会更容易。