You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2012/09/27 15:44:50 UTC
svn commit: r1391009 - in /camel/branches/camel-2.10.x: ./
camel-core/src/main/java/org/apache/camel/management/DefaultManagementAgent.java
Author: davsclaus
Date: Thu Sep 27 13:44:49 2012
New Revision: 1391009
URL: http://svn.apache.org/viewvc?rev=1391009&view=rev
Log:
CAMEL-5656: JMXConnector started async no need for thread pool as thread should terminate after started.
Modified:
camel/branches/camel-2.10.x/ (props changed)
camel/branches/camel-2.10.x/camel-core/src/main/java/org/apache/camel/management/DefaultManagementAgent.java
Propchange: camel/branches/camel-2.10.x/
------------------------------------------------------------------------------
Merged /camel/trunk:r1391008
Propchange: camel/branches/camel-2.10.x/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified: camel/branches/camel-2.10.x/camel-core/src/main/java/org/apache/camel/management/DefaultManagementAgent.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.10.x/camel-core/src/main/java/org/apache/camel/management/DefaultManagementAgent.java?rev=1391009&r1=1391008&r2=1391009&view=diff
==============================================================================
--- camel/branches/camel-2.10.x/camel-core/src/main/java/org/apache/camel/management/DefaultManagementAgent.java (original)
+++ camel/branches/camel-2.10.x/camel-core/src/main/java/org/apache/camel/management/DefaultManagementAgent.java Thu Sep 27 13:44:49 2012
@@ -25,7 +25,6 @@ import java.rmi.registry.LocateRegistry;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.concurrent.ExecutorService;
import javax.management.JMException;
import javax.management.MBeanServer;
import javax.management.MBeanServerFactory;
@@ -58,7 +57,6 @@ public class DefaultManagementAgent exte
private static final transient Logger LOG = LoggerFactory.getLogger(DefaultManagementAgent.class);
private CamelContext camelContext;
- private ExecutorService executorService;
private MBeanServer server;
// need a name -> actual name mapping as some servers changes the names (suc as WebSphere)
private final Map<ObjectName, ObjectName> mbeansRegistered = new HashMap<ObjectName, ObjectName>();
@@ -207,14 +205,6 @@ public class DefaultManagementAgent exte
this.registerNewRoutes = registerNewRoutes;
}
- public ExecutorService getExecutorService() {
- return executorService;
- }
-
- public void setExecutorService(ExecutorService executorService) {
- this.executorService = executorService;
- }
-
public CamelContext getCamelContext() {
return camelContext;
}
@@ -271,6 +261,7 @@ public class DefaultManagementAgent exte
if (cs != null) {
try {
cs.stop();
+ LOG.debug("Stopped JMX Connector");
} catch (IOException e) {
LOG.debug("Error occurred during stopping JMXConnectorService: "
+ cs + ". This exception will be ignored.");
@@ -412,23 +403,23 @@ public class DefaultManagementAgent exte
cs = JMXConnectorServerFactory.newJMXConnectorServer(url, null, server);
- if (executorService == null) {
- // we only need a single thread for the JMX connector
- executorService = camelContext.getExecutorServiceManager().newSingleThreadExecutor(this, "JMXConnector: " + url);
- }
-
- // execute the JMX connector
- executorService.execute(new Runnable() {
+ // use async thread for starting the JMX Connector
+ // (no need to use a thread pool or enlist in JMX as this thread is terminated when the JMX connector has been started)
+ Thread thread = new Thread(new Runnable() {
public void run() {
try {
+ LOG.debug("Staring JMX Connector thread to listen at: {}", url);
cs.start();
+ LOG.info("JMX Connector thread started and listening at: {}", url);
} catch (IOException ioe) {
- LOG.warn("Could not start JMXConnector thread.", ioe);
+ LOG.warn("Could not start JMXConnector thread at: " + url + ". JMX Connector not in use.", ioe);
}
}
});
-
- LOG.info("JMX Connector thread started and listening at: " + url);
+ thread.setDaemon(true);
+ String threadName = camelContext.getExecutorServiceManager().resolveThreadName("JMXConnector: " + url);
+ thread.setName(threadName);
+ thread.start();
}
}