mirror of https://github.com/apache/activemq.git
make splitting consumers/producers memory limit optional and off
by default git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@632666 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
767b548715
commit
c427689dad
|
@ -161,6 +161,9 @@ public class BrokerService implements Service {
|
||||||
private boolean supportFailOver;
|
private boolean supportFailOver;
|
||||||
private boolean clustered;
|
private boolean clustered;
|
||||||
private Broker regionBroker;
|
private Broker regionBroker;
|
||||||
|
private int producerSystemUsagePortion = 60;
|
||||||
|
private int consumerSystemUsagePortion = 40;
|
||||||
|
private boolean splitSystemUsageForProducersConsumers;
|
||||||
|
|
||||||
|
|
||||||
static {
|
static {
|
||||||
|
@ -680,9 +683,14 @@ public class BrokerService implements Service {
|
||||||
*/
|
*/
|
||||||
public SystemUsage getConsumerSystemUsage() throws IOException {
|
public SystemUsage getConsumerSystemUsage() throws IOException {
|
||||||
if (this.consumerSystemUsaage == null) {
|
if (this.consumerSystemUsaage == null) {
|
||||||
this.consumerSystemUsaage = new SystemUsage(getSystemUsage(), "Consumer");
|
if(splitSystemUsageForProducersConsumers) {
|
||||||
this.consumerSystemUsaage.getMemoryUsage().setUsagePortion(0.5f);
|
this.consumerSystemUsaage = new SystemUsage(getSystemUsage(), "Consumer");
|
||||||
addService(this.consumerSystemUsaage);
|
float portion = consumerSystemUsagePortion/100f;
|
||||||
|
this.consumerSystemUsaage.getMemoryUsage().setUsagePortion(portion);
|
||||||
|
addService(this.consumerSystemUsaage);
|
||||||
|
}else {
|
||||||
|
consumerSystemUsaage=getSystemUsage();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return this.consumerSystemUsaage;
|
return this.consumerSystemUsaage;
|
||||||
}
|
}
|
||||||
|
@ -703,10 +711,15 @@ public class BrokerService implements Service {
|
||||||
* @throws IOException
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
public SystemUsage getProducerSystemUsage() throws IOException {
|
public SystemUsage getProducerSystemUsage() throws IOException {
|
||||||
if (producerSystemUsage == null) {
|
if (producerSystemUsage == null ) {
|
||||||
producerSystemUsage = new SystemUsage(getSystemUsage(), "Producer");
|
if (splitSystemUsageForProducersConsumers) {
|
||||||
producerSystemUsage.getMemoryUsage().setUsagePortion(0.45f);
|
producerSystemUsage = new SystemUsage(getSystemUsage(), "Producer");
|
||||||
addService(producerSystemUsage);
|
float portion = producerSystemUsagePortion/100f;
|
||||||
|
producerSystemUsage.getMemoryUsage().setUsagePortion(portion);
|
||||||
|
addService(producerSystemUsage);
|
||||||
|
}else {
|
||||||
|
producerSystemUsage=getSystemUsage();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return producerSystemUsage;
|
return producerSystemUsage;
|
||||||
}
|
}
|
||||||
|
@ -1223,6 +1236,31 @@ public class BrokerService implements Service {
|
||||||
public Destination getDestination(ActiveMQDestination destination) throws Exception {
|
public Destination getDestination(ActiveMQDestination destination) throws Exception {
|
||||||
return getBroker().addDestination(getAdminConnectionContext(), destination);
|
return getBroker().addDestination(getAdminConnectionContext(), destination);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getProducerSystemUsagePortion() {
|
||||||
|
return producerSystemUsagePortion;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProducerSystemUsagePortion(int producerSystemUsagePortion) {
|
||||||
|
this.producerSystemUsagePortion = producerSystemUsagePortion;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getConsumerSystemUsagePortion() {
|
||||||
|
return consumerSystemUsagePortion;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setConsumerSystemUsagePortion(int consumerSystemUsagePortion) {
|
||||||
|
this.consumerSystemUsagePortion = consumerSystemUsagePortion;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isSplitSystemUsageForProducersConsumers() {
|
||||||
|
return splitSystemUsageForProducersConsumers;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSplitSystemUsageForProducersConsumers(
|
||||||
|
boolean splitSystemUsageForProducersConsumers) {
|
||||||
|
this.splitSystemUsageForProducersConsumers = splitSystemUsageForProducersConsumers;
|
||||||
|
}
|
||||||
|
|
||||||
// Implementation methods
|
// Implementation methods
|
||||||
// -------------------------------------------------------------------------
|
// -------------------------------------------------------------------------
|
||||||
|
|
Loading…
Reference in New Issue