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

Piotr Piastucki (JIRA) jira-events at lists.jboss.org
Wed Dec 10 08:42:37 EST 2008


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

Piotr Piastucki commented on JBCACHE-1444:
------------------------------------------

Ok, but please also address the second issue. 
Users should be able to instruct jboss cache to add CacheMgmtInterceptor to interceptor chain without registering it as MBean, because they may want to register all beans themselves. There should be a separate flag to exclude the interceptor from the chain.

Currently, the only workaround I found is as follows:

		            Cache cache = factory.createCache(configFileName, true);
		            CacheMgmtInterceptor cmi = new CacheMgmtInterceptor(); 
		            cache.addInterceptor(cmi, 0);
		            CacheSPI cachespi = (CacheSPI) cache;
		            cachespi.getComponentRegistry().registerComponent(cmi, cmi.getClass());

But I do not think users should be forced to do such hacks :)



> 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