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 {