You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by da...@apache.org on 2012/09/11 11:51:24 UTC
svn commit: r1383327 - in
/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker:
BrokerService.java jmx/BrokerView.java jmx/BrokerViewMBean.java
Author: davsclaus
Date: Tue Sep 11 09:51:24 2012
New Revision: 1383327
URL: http://svn.apache.org/viewvc?rev=1383327&view=rev
Log:
AMQ-4015: Added uptime to broker service, and shown in JMX, as well in logs when stopping broker.
Modified:
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/BrokerService.java
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/jmx/BrokerView.java
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/jmx/BrokerViewMBean.java
Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/BrokerService.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/BrokerService.java?rev=1383327&r1=1383326&r2=1383327&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/BrokerService.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/BrokerService.java Tue Sep 11 09:51:24 2012
@@ -25,6 +25,7 @@ import java.net.URI;
import java.net.URISyntaxException;
import java.net.UnknownHostException;
import java.util.ArrayList;
+import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
@@ -112,6 +113,7 @@ import org.apache.activemq.util.InetAddr
import org.apache.activemq.util.JMXSupport;
import org.apache.activemq.util.ServiceStopper;
import org.apache.activemq.util.ThreadPoolUtils;
+import org.apache.activemq.util.TimeUtils;
import org.apache.activemq.util.URISupport;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -231,6 +233,7 @@ public class BrokerService implements Se
private final Object persistenceAdapterLock = new Object();
private Throwable startException = null;
private boolean startAsync = false;
+ private Date startDate;
static {
String localHostName = "localhost";
@@ -483,6 +486,15 @@ public class BrokerService implements Se
}
}
+ public String getUptime() {
+ // compute and log uptime
+ if (startDate == null) {
+ return "not started";
+ }
+ long delta = new Date().getTime() - startDate.getTime();
+ return TimeUtils.printDuration(delta);
+ }
+
public boolean isStarted() {
return started.get();
}
@@ -537,6 +549,7 @@ public class BrokerService implements Se
return;
}
+ startDate = new Date();
MDC.put("activemq.broker", brokerName);
try {
@@ -778,6 +791,9 @@ public class BrokerService implements Se
this.destinationFactory = null;
if (LOG.isInfoEnabled()) {
+ if (startDate != null) {
+ LOG.info("Uptime {}", getUptime());
+ }
LOG.info("ActiveMQ " + getBrokerVersion() + " JMS Message Broker ("
+ getBrokerName() + ", " + brokerId + ") stopped");
}
@@ -794,6 +810,9 @@ public class BrokerService implements Se
MDC.remove("activemq.broker");
+ // and clear start date
+ startDate = null;
+
stopper.throwFirstException();
}
Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/jmx/BrokerView.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/jmx/BrokerView.java?rev=1383327&r1=1383326&r2=1383327&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/jmx/BrokerView.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/jmx/BrokerView.java Tue Sep 11 09:51:24 2012
@@ -79,6 +79,11 @@ public class BrokerView implements Broke
return ActiveMQConnectionMetaData.PROVIDER_VERSION;
}
+ @Override
+ public String getUptime() {
+ return brokerService.getUptime();
+ }
+
public void gc() throws Exception {
brokerService.getBroker().gc();
try {
Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/jmx/BrokerViewMBean.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/jmx/BrokerViewMBean.java?rev=1383327&r1=1383326&r2=1383327&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/jmx/BrokerViewMBean.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/jmx/BrokerViewMBean.java Tue Sep 11 09:51:24 2012
@@ -47,6 +47,12 @@ public interface BrokerViewMBean extends
String getBrokerVersion();
/**
+ * @return Uptime of the broker.
+ */
+ @MBeanInfo("Uptime of the broker.")
+ String getUptime();
+
+ /**
* The Broker will flush it's caches so that the garbage collector can
* reclaim more memory.
*