Author: ritchiem
Date: Wed Aug 12 18:22:11 2009
New Revision: 803651

URL: http://svn.apache.org/viewvc?rev=803651&view=rev
Log:
QPID-2002 : Defensive update incase the thread name is not as expected. In all 
production environments it has shown to be but as the other tests highlight it 
will fail if the name is not as expected. Better to be defensive that just 
broken.

Modified:
    
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/actors/ManagementActor.java

Modified: 
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/actors/ManagementActor.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/actors/ManagementActor.java?rev=803651&r1=803650&r2=803651&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/actors/ManagementActor.java
 (original)
+++ 
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/actors/ManagementActor.java
 Wed Aug 12 18:22:11 2009
@@ -64,21 +64,40 @@
     {
         String currentName = Thread.currentThread().getName();
 
+        String actor;
         // Record the last thread name so we don't have to recreate the log 
string
         if (!currentName.equals(_lastThreadName))
         {
             _lastThreadName = currentName;
 
-            System.err.println(currentName);
-            // Management Threads have this format.
+            // Management Thread names have this format.
             //RMI TCP Connection(2)-169.24.29.116
-            String connectionID = currentName.split("\\(")[1].split("\\)")[0];
-            String ip = currentName.split("-")[1];
+            // This is true for both LocalAPI and JMX Connections
+            // However to be defensive lets test.
+
+            String[] split = currentName.split("\\(");
+            if (split.length == 2)
+            {
+                String connectionID = split[1].split("\\)")[0];
+                String ip = currentName.split("-")[1];
+
+                actor = MessageFormat.format(MANAGEMENT_FORMAT,
+                                             connectionID,
+                                             ip);
+            }
+            else
+            {
+                // This is a precautionary path as it is not expected to occur
+                // however rather than adjusting the thread name of the two
+                // tests that will use this it is safer all round to do this.
+                // it is also currently used by tests :
+                // AMQBrokerManagerMBeanTest
+                // ExchangeMBeanTest
+                actor = currentName;
+            }
+
+            _logString = "[" + actor + "] ";
 
-            _logString = "[" + MessageFormat.format(MANAGEMENT_FORMAT,
-                                                    connectionID,
-                                                    ip)
-                         + "] ";
         }
     }
 



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to