Author: chetanm
Date: Fri Dec 18 05:16:20 2015
New Revision: 1720720

URL: http://svn.apache.org/viewvc?rev=1720720&view=rev
Log:
OAK-3802 - SessionMBean not getting registered due to 
MalformedObjectNameException

Defensive change - Might happen that JIT can get rid of new ObjectName call 
altogether. Not sure so ensuring that its value get used

Modified:
    
jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/jmx/JmxUtil.java

Modified: 
jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/jmx/JmxUtil.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/jmx/JmxUtil.java?rev=1720720&r1=1720719&r2=1720720&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/jmx/JmxUtil.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/jmx/JmxUtil.java
 Fri Dec 18 05:16:20 2015
@@ -45,6 +45,7 @@ public final class JmxUtil {
         //Check if some chars are escaped or not. In that case
         //length of quoted string (excluding quotes) would differ
         if (quotedValue.substring(1, quotedValue.length() - 
1).equals(unquotedValue)) {
+            ObjectName on = null;
             try {
                 //Quoting logic in ObjectName does not escape ',', '='
                 //etc. So try now by constructing ObjectName. If that
@@ -52,9 +53,14 @@ public final class JmxUtil {
 
                 //Also we cannot just rely on ObjectName as it treats
                 //*, ? as pattern chars and which should ideally be escaped
-                new ObjectName("dummy", "dummy", unquotedValue);
+                on = new ObjectName("dummy", "dummy", unquotedValue);
+            } catch (MalformedObjectNameException ignore) {
+                //ignore
+            }
+
+            if (on != null){
                 result = unquotedValue;
-            } catch (MalformedObjectNameException e) {
+            } else {
                 result = quotedValue;
             }
         } else {


Reply via email to