Author: ffang
Date: Wed Aug 8 00:06:45 2012
New Revision: 1370603
URL: http://svn.apache.org/viewvc?rev=1370603&view=rev
Log:
[KARAF-1574]When two karaf containers are started locally, an exception is
displayed at startup. A nicer message would be better.
Modified:
karaf/branches/karaf-2.2.x/management/server/src/main/java/org/apache/karaf/management/ConnectorServerFactory.java
Modified:
karaf/branches/karaf-2.2.x/management/server/src/main/java/org/apache/karaf/management/ConnectorServerFactory.java
URL:
http://svn.apache.org/viewvc/karaf/branches/karaf-2.2.x/management/server/src/main/java/org/apache/karaf/management/ConnectorServerFactory.java?rev=1370603&r1=1370602&r2=1370603&view=diff
==============================================================================
---
karaf/branches/karaf-2.2.x/management/server/src/main/java/org/apache/karaf/management/ConnectorServerFactory.java
(original)
+++
karaf/branches/karaf-2.2.x/management/server/src/main/java/org/apache/karaf/management/ConnectorServerFactory.java
Wed Aug 8 00:06:45 2012
@@ -19,6 +19,7 @@ package org.apache.karaf.management;
import org.apache.karaf.jaas.config.KeystoreManager;
import java.io.IOException;
+import java.net.BindException;
import java.net.ServerSocket;
import java.rmi.server.RMIClientSocketFactory;
import java.rmi.server.RMIServerSocketFactory;
@@ -230,6 +231,17 @@ public class ConnectorServerFactory {
Thread.currentThread().setContextClassLoader(ConnectorServerFactory.class.getClassLoader());
connectorServer.start();
} catch (IOException ex) {
+ if (ex.getCause() instanceof BindException){
+ // we want just the port message
+ int endIndex = ex.getMessage().indexOf("nested
exception is");
+ // check to make sure we do not get an index
out of range
+ if (endIndex > ex.getMessage().length() ||
endIndex < 0){
+ endIndex = ex.getMessage().length();
+ }
+ throw new RuntimeException("\n" +
ex.getMessage().substring(0, endIndex) +
+ "\nYou may have started two
containers. If you need to start a second container or the default ports are
already in use " +
+ "update the config file
etc/org.apache.karaf.management.cfg and change the Registry Port and Server
Port to unused ports");
+ }
throw new RuntimeException("Could not start JMX
connector server", ex);
}
}