Author: davsclaus
Date: Thu Jul 17 02:45:24 2008
New Revision: 677549
URL: http://svn.apache.org/viewvc?rev=677549&view=rev
Log:
CAMEL-732: JMX testing for MBean already registered before registering.
Modified:
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/management/CamelNamingStrategy.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultInstrumentationAgent.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/resequencer/SequenceSender.java
Modified:
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/management/CamelNamingStrategy.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/management/CamelNamingStrategy.java?rev=677549&r1=677548&r2=677549&view=diff
==============================================================================
---
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/management/CamelNamingStrategy.java
(original)
+++
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/management/CamelNamingStrategy.java
Thu Jul 17 02:45:24 2008
@@ -46,7 +46,6 @@
public static final String TYPE_ROUTE = "route";
public static final String TYPE_SERVICE = "service";
public static final String KEY_NODE_ID = "nodeid";
- public static final String KEY_INSTANCE = "instance";
protected String domainName;
protected String hostName = "locahost";
Modified:
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultInstrumentationAgent.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultInstrumentationAgent.java?rev=677549&r1=677548&r2=677549&view=diff
==============================================================================
---
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultInstrumentationAgent.java
(original)
+++
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultInstrumentationAgent.java
Thu Jul 17 02:45:24 2008
@@ -219,24 +219,36 @@
private void registerMBeanWithServer(Object obj, ObjectName name, boolean
forceRegistration)
throws JMException {
- ObjectInstance instance = null;
- try {
- instance = server.registerMBean(obj, name);
- } catch (InstanceAlreadyExistsException e) {
+ // have we already registered the bean, there can be shared instances
in the camel routes
+ boolean exists = server.isRegistered(name);
+ if (exists) {
if (forceRegistration) {
+ LOG.info("ForceRegistration enabled, unregistering existing
MBean");
server.unregisterMBean(name);
- instance = server.registerMBean(obj, name);
} else {
- throw e;
+ // okay ignore we do not want to force it and it could be a
shared instance
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("MBean already registered with objectname: " +
name);
+ }
}
}
+ // register bean if by force or not exsists
+ ObjectInstance instance = null;
+ if (forceRegistration || !exists) {
+ if (LOG.isTraceEnabled()) {
+ LOG.trace("Registering MBean with objectname: " + name);
+ }
+ instance = server.registerMBean(obj, name);
+ }
+
if (instance != null) {
+ ObjectName registeredName = instance.getObjectName();
if (LOG.isDebugEnabled()) {
- LOG.debug("Registered objectname " + instance.getObjectName());
+ LOG.debug("Registered MBean with objectname: " +
registeredName);
}
- mbeans.add(instance.getObjectName());
+ mbeans.add(registeredName);
}
}
@@ -274,7 +286,7 @@
createJmxConnector(hostName);
}
} catch (IOException ioe) {
- LOG.warn("Could not create and start jmx connector.", ioe);
+ LOG.warn("Could not create and start JMX connector.", ioe);
}
}
@@ -308,7 +320,7 @@
try {
LocateRegistry.createRegistry(registryPort);
if (LOG.isDebugEnabled()) {
- LOG.debug("Created RMI regisry on port " + registryPort);
+ LOG.debug("Created JMXConnector RMI regisry on port " +
registryPort);
}
} catch (RemoteException ex) {
// The registry may had been created, we could get the registry
instead
@@ -332,13 +344,13 @@
try {
cs.start();
} catch (IOException ioe) {
- LOG.warn("Could not start jmx connector thread.", ioe);
+ LOG.warn("Could not start JMXConnector thread.", ioe);
}
}
};
- connectorThread.setName("JMX Connector Thread [" + url + "]");
+ connectorThread.setName("Camel JMX Connector Thread [" + url + "]");
connectorThread.start();
- LOG.info("JMX connector thread started on " + url);
+ LOG.info("JMX Connector thread started and listening at: " + url);
}
public String getMBeanObjectDomainName() {
Modified:
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/resequencer/SequenceSender.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/resequencer/SequenceSender.java?rev=677549&r1=677548&r2=677549&view=diff
==============================================================================
---
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/resequencer/SequenceSender.java
(original)
+++
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/resequencer/SequenceSender.java
Thu Jul 17 02:45:24 2008
@@ -32,7 +32,7 @@
*
* @author Martin Krasser
*
- * @version $Revision
+ * @version $Revision$
*/
public class SequenceSender extends Thread {
@@ -45,8 +45,7 @@
/**
* Creates a new [EMAIL PROTECTED] SequenceSender} thread.
*
- * @param processor
- * the processor to send re-ordered [EMAIL PROTECTED]
Exchange}s.
+ * @param processor the processor to send re-ordered [EMAIL PROTECTED]
Exchange}s.
*/
public SequenceSender(Processor processor) {
this.processor = processor;
@@ -55,8 +54,7 @@
/**
* Sets the [EMAIL PROTECTED] BlockingQueue} to take messages from.
*
- * @param queue
- * the [EMAIL PROTECTED] BlockingQueue} to take messages from.
+ * @param queue the [EMAIL PROTECTED] BlockingQueue} to take messages from.
*/
public void setQueue(BlockingQueue<Exchange> queue) {
this.queue = queue;
@@ -67,15 +65,15 @@
try {
Exchange exchange = queue.take();
if (exchange == STOP) {
- LOG.info("exit processing loop after cancellation");
+ LOG.info("Exit processing loop after cancellation");
return;
}
processor.process(exchange);
} catch (InterruptedException e) {
- LOG.info("exit processing loop after interrupt");
+ LOG.info("Exit processing loop after interrupt");
return;
} catch (Exception e) {
- LOG.warn("exception during exchange processing");
+ LOG.warn("Exception during exchange processing: " +
e.getMessage());
}
}
}
@@ -95,7 +93,7 @@
private static InvocationHandler createStopHandler() {
return new InvocationHandler() {
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
- throw new RuntimeException("illegal method invocation on stop
signal");
+ throw new RuntimeException("Illegal method invocation on stop
signal");
}
};
}