Bastien Colmard created POOL-298:
------------------------------------

             Summary: Wrong jmxNameBase default value
                 Key: POOL-298
                 URL: https://issues.apache.org/jira/browse/POOL-298
             Project: Commons Pool
          Issue Type: Bug
    Affects Versions: 2.3
            Reporter: Bastien Colmard
            Priority: Minor


We needed to define our own pool names for Redis, to be able to know which pool 
was throwing errors, but we experienced some difficulties.
We use {{jedis-2.7.2}}, which uses {{commons-pool2-2.3}} configured with spring 
beans. After setting a custom {{jmxNamePrefix}}, we didn't notice any 
difference and proceeded to debug.

BaseGenericObjectPool.jmxRegister uses BaseObjectPoolConfig.jmxNameBase to 
build its ObjectName, but jmxNameBase defaults to jmxNamePrefix which is "pool" 
(not a valid domain) and throws a MalformedObjectNameException, falling back to 
"org.apache.commons.pool2:type=GenericKeyedObjectPool,name=pool".

The current workaround is to force jmxNameBase to null with 
{code:xml}<property name="jmxNameBase"><null/></property>{code}

https://github.com/apache/commons-pool/blob/trunk/src/main/java/org/apache/commons/pool2/impl/BaseObjectPoolConfig.java#L192
 (introduced in December 2013 it seems)

The fix would be
{code}
-private String jmxNameBase = DEFAULT_JMX_NAME_PREFIX
+private String jmxNameBase = DEFAULT_JMX_NAME_BASE
{code}
I can submit a Pull Request on Github but it looks like you only use it as a 
mirror



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to