[jbosscache-issues] [JBoss JIRA] Commented: (JBCACHE-1444) ObjectName's validation fails for Jbosscache 3.0 on WAS 6.1 due to ":" char in name.

Manik Surtani (JIRA) jira-events at lists.jboss.org
Wed Dec 10 08:02:47 EST 2008


    [ https://jira.jboss.org/jira/browse/JBCACHE-1444?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12441894#action_12441894 ] 

Manik Surtani commented on JBCACHE-1444:
----------------------------------------

Agreed that the current time in millis is poor, as is the thread name (since a single thread is likely to be responsible for creating and registering).

What could work is to use Integer.toHexString(System.identityHashCode(objectToRegister)) after the prefix, although this would trip up if the same instance were to be registered more than once.  But IMO I think this makes sense.

> ObjectName's validation fails for Jbosscache 3.0 on WAS 6.1 due to ":" char in name.
> ------------------------------------------------------------------------------------
>
>                 Key: JBCACHE-1444
>                 URL: https://jira.jboss.org/jira/browse/JBCACHE-1444
>             Project: JBoss Cache
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: JMX
>    Affects Versions: 3.0.0.CR3, 3.0.0.GA
>         Environment: WAS 6.1, IBM VM
>            Reporter: Peter Kovgan
>            Assignee: Manik Surtani
>            Priority: Critical
>             Fix For: 3.0.1.GA
>
>   Original Estimate: 5 hours
>  Remaining Estimate: 5 hours
>
> I deploy jboss cache on WAS 6.1(base install), and the problem is:
> new JmxRegistrationManager uses this function to create unique object name:
> private void processBaseName(ObjectName baseName)
> in LOCAL mode, name is
> objectNameBase = LOCAL_CACHE_PREFIX + Thread.currentThread().getName() + "-" + System.currentTimeMillis();
> the problem WAS returns <ContainerName>:<some number> as a Thread.currentThread().getName().
> This means you have something like WebContainer : 1 in name, but the ":" char fails during the validation in WAS's proprietary(!!!)
> javax.management.ObjectName.class.
> Probably needed some configurable option that excludes ":" 
> Thread.currentThread().getName() -  problem part - should be changed for WAS to exclude ":"
> below is WAS check for invalid characters:
> while ((in_index < len) && ((c1 = name_chars[in_index++]) != '='))
>                 switch (c1) {
>                     // '=' considered to introduce value part
>                     case  '*' :
>                     case  '?' :
>                     case  ',' :
>                     case  ':' :
>                     case  '\n' :
> 			final String ichar = ((c1=='\n')?"\\n":""+c1);
>                         throw new MalformedObjectNameException(
> 				  "Invalid character '" + ichar +
> 				  "' in key part of property");
>                     default: ;
>                 }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jbosscache-issues mailing list