Added a better exception and error message for exceeding the maximumConnections - AMQ-1928

git-svn-id: https://svn.apache.org/repos/asf/activemq/tags/activemq-5.2.0@789520 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/activemq-core/src/main/java/org/apache/activemq/transport/tcp/ExceededMaximumConnectionsException.java b/activemq-core/src/main/java/org/apache/activemq/transport/tcp/ExceededMaximumConnectionsException.java
new file mode 100644
index 0000000..5493cab
--- /dev/null
+++ b/activemq-core/src/main/java/org/apache/activemq/transport/tcp/ExceededMaximumConnectionsException.java
@@ -0,0 +1,22 @@
+package org.apache.activemq.transport.tcp;
+
+/**
+ * Thrown to indicate that the {@link TcpTransportServer#maximumConnections} 
+ * property has been exceeded. 
+ * 
+ * @see {@link TcpTransportServer#maximumConnections}
+ * @author bsnyder
+ *
+ */
+public class ExceededMaximumConnectionsException extends Exception {
+
+    /**
+     * Default serial version id for serialization
+     */
+    private static final long serialVersionUID = -1166885550766355524L;
+
+    public ExceededMaximumConnectionsException(String message) {
+        super(message);
+    }
+
+}
diff --git a/activemq-core/src/main/java/org/apache/activemq/transport/tcp/TcpTransportServer.java b/activemq-core/src/main/java/org/apache/activemq/transport/tcp/TcpTransportServer.java
index 2a7ab02..52c128f 100755
--- a/activemq-core/src/main/java/org/apache/activemq/transport/tcp/TcpTransportServer.java
+++ b/activemq-core/src/main/java/org/apache/activemq/transport/tcp/TcpTransportServer.java
@@ -381,8 +381,10 @@
     protected final void handleSocket(Socket socket) {
         try {
             if (this.currentTransportCount >= this.maximumConnections) {
-                
-            }else {
+                throw new ExceededMaximumConnectionsException("Exceeded the maximum " + 
+                        "number of allowed client connections. See the 'maximumConnections' " + 
+                        "property on the TCP transport configuration URI in the ActiveMQ configuration file (e.g., activemq.xml)"); 
+            } else {
             HashMap<String, Object> options = new HashMap<String, Object>();
             options.put("maxInactivityDuration", Long
                     .valueOf(maxInactivityDuration));