8 Replies Latest reply: Jul 20, 2011 9:39 AM by Mike Duffy RSS

Invalid character ':' in value part of property

mani Newbie

Hi ,
I get the following error when invoking the ejb interface for the jbosscache from a remote client.

javax.ejb.EJBException: org.jboss.cache.CacheException: java.lang.reflect.InvocationTargetException
...
Caused by: org.jboss.cache.CacheException: Failure while registering mbeans
at org.jboss.cache.jmx.JmxRegistrationManager.registerAllMBeans(JmxRegistrationManager.java:163)
at org.jboss.cache.jmx.PlatformMBeanServerRegistration.registerToPlatformMBeanServer(PlatformMBeanServerRegistration.java:70)
... 71 more
Caused by: javax.management.MalformedObjectNameException: Invalid character ':' in value part of property
at javax.management.ObjectName.construct(ObjectName.java:529)
at javax.management.ObjectName.(ObjectName.java:1304)
at org.jboss.cache.jmx.JmxRegistrationManager.registerAllMBeans(JmxRegistrationManager.java:147)
[/colour]

Jboss cache is working fine when invoked from a servlet...
After the first invocation from the servlet , It works fine for subsequent calls from the client. Any ideas to resolve this?
Servlet code is

Context initialContext = new InitialContext();
BSLCache ejbRemote = (BSLCache)initialContext.lookup("/jbosscache/BSLCacheBean/remote");
Object val = ejbRemote.getCache(key);

My cache-config.xml is as follows
<?xml version="1.0" encoding="UTF-8"?>
<jbosscache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:jboss:jbosscache-core:config:3.0">
<locking isolationLevel="READ_COMMITTED"/>
<transaction transactionManagerLookupClass="org.jboss.cache.transaction.GenericTransactionManagerLookup" syncRollbackPhase="false" syncCommitPhase="false"/>
 <eviction wakeUpInterval="500">
 <default algorithmClass="org.jboss.cache.eviction.LFUAlgorithm" eventQueueSize="100000">
 <property name="maxNodes" value="500" />

 <property name="minNodes" value="10" />
 <property name="minTimeToLive" value="1000" />
 </default>
 </eviction>
 <loaders passivation="false" shared="false">
 <preload><node fqn="/"></node></preload>
 <loader class="org.jboss.cache.loader.JDBCCacheLoader" async="false" fetchPersistentState="true"
 ignoreModifications="false" purgeOnStartup="true">
 <properties>
 cache.jdbc.datasource=java:/BSLOracleDS
 location=./
 cache.jdbc.table.drop=false
 cache.jdbc.table.name=bsl_cache_loader
 cache.jdbc.table.primarykey=FQN
 cache.jdbc.fqn.column=FQN
 cache.jdbc.node.column=cache_data
 cache.jdbc.parent.column=parent_fqn
 cache.jdbc.sql-concat=1||2
 </properties>
 </loader>
 </loaders>

</jbosscache>

and the code is as follows
factory = new DefaultCacheFactory();
objCache = factory.createCache("cache-config.xml");
objCache.start();
node = objCache.getRoot();



  • 2. Re: Invalid character ':' in value part of property
    mani Newbie

    Hi Manik,
    Thanks for the JIRA link. I am not quite clear on the resolution mentioned. Can you kindly add in more details.

  • 3. Re: Invalid character ':' in value part of property
    Manik Surtani Master

    Resolution: update to JBC >= 3.0.1 and read my comment on the JIRA:


    Ok, I've added a JVM system property where you can specify the prefix. From the (updated) Javadocs on JmxRegistrationManager:

    * Note that by default object names used are prefixed with <tt>jboss.cache:service=JBossCache</tt>. While this format
    * works for and is consistent with JBoss AS and the JMX console, it has been known to cause problems with other JMX
    * servers such as Websphere. To work around this, you can provide the following VM system property to override this
    * prefix with a prefix of your choice:
    * <tt><b>-Djbosscache.jmx.prefix=JBossCache</b></tt>


  • 4. Re: Invalid character ':' in value part of property
    mani Newbie

    Hi Manik,
    I am using JBC 3.0.1 and even after including the JVM system property , I get the same error.

    Additionally I get the following error as well on server starup.

    17:21:41,083 ERROR [AbstractKernelController] Error installing to Start: name=HA
    Partition state=Create
    org.jboss.cache.CacheException: java.lang.reflect.InvocationTargetException
     at org.jboss.cache.util.reflect.ReflectionUtil.invokeAccessibly(Reflecti
    onUtil.java:148)
     at org.jboss.cache.factories.ComponentRegistry$PrioritizedMethod.invoke(
    ComponentRegistry.java:970)
     at org.jboss.cache.factories.ComponentRegistry.internalStart(ComponentRe
    gistry.java:746)
     at org.jboss.cache.factories.ComponentRegistry.start(ComponentRegistry.j
    ava:610)
     at org.jboss.cache.invocation.CacheInvocationDelegate.start(CacheInvocat
    ionDelegate.java:355)
     at org.jboss.ha.cachemanager.CacheManagerManagedCache.start(CacheManager
    ManagedCache.java:96)
     at org.jboss.ha.framework.server.HAPartitionCacheHandlerImpl.startCache(
    HAPartitionCacheHandlerImpl.java:66)
     at org.jboss.ha.framework.server.ClusterPartition.startService(ClusterPa
    rtition.java:400)
     at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBean
    .................
    .................
    
    
    7:22:05,520 ERROR [ProfileServiceBootstrap] Failed to load profile: Summary of
    incomplete deployments (SEE PREVIOUS ERRORS FOR DETAILS):
    
    *** CONTEXTS MISSING DEPENDENCIES: Name -> Dependency{Required State:Actual Stat
    e}
    
    DistributedReplicantManager
     -> HAPartition{Instantiated:**ERROR**}
    
    HAJNDI
     -> HAPartition{Configured:**ERROR**}
    
    HASessionStateService
     -> HAPartition{Configured:**ERROR**}
    
    HASingletonDeployer
     -> HAPartition{Configured:**ERROR**}
    
    JGCacheInvalidationBridge
     -> HAPartition{Configured:**ERROR**}
    
    JRMPInvokerHA
     -> HAPartition{Create:**ERROR**}
    
    PooledInvokerHA
     -> HAPartition{Create:**ERROR**}
    
    UnifiedInvokerHA
     -> HAPartition{Create:**ERROR**}
    
    partition:partitionName=DefaultPartition_Alias_AbstractKernelController[3447310]
    
     -> HAPartition{Installed:**ERROR**}
    
    
    *** CONTEXTS IN ERROR: Name -> Error
    
    HAPartition -> **ERROR** | javax.management.MalformedObjectNameException: Domain
     part must be specified
    
    
    


  • 5. Re: Invalid character ':' in value part of property
    mani Newbie

    Thanks Manik. Upgrading to Jboss Cache 3.0.2 has solved this .

  • 6. Re: Invalid character ':' in value part of property
    Jos Josser Newbie

    Hi,

    I have the same problem using jbosscache-pojo 3.0.0.GA.

    I cannot find an upgrade of this jbosscache-pojo version.

    Is there any workaround for this? The workaround that has been posted is useless for me.

    I cannot add VM arguments due to restrictions (working for a client).

    This is an urgent issue, because the software is already deployed in production. It worked fine with jbosscache-pojo.2.0.0.GA. But we had to upgrade to the latest version because of an issue in an clustered environment.

    The software has to work in a clustered environment and also with cache mode LOCAL (for testing purposes).

    I cannot understand why this version has been released with such majors issues.

  • 7. Re: Invalid character ':' in value part of property
    Brian Stansberry Master

    From my reading of this thread, you don't have to change the version of jbosscache-pojo to fix this problem. POJO Cache and core JBoss Cache are separate libraries, so just upgrade the core JBoss Cache to a version with the fix. POJO Cache 3.0.0.GA will work with any core JBC release 3.0.0.GA or greater. For example, the latest Red Hat Enterprise Application Platform release combines PC 3.0.0.GA with JBC 3.2.1.GA.

  • 8. Re: Invalid character ':' in value part of property
    Mike Duffy Newbie

    With a breand new version of JBoss 6.0, with no code deployed I see the following error about every hour after starting my server:

     

    05:07:59,517 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/jmx-console].[HtmlAdaptor]] Servlet.service() for servlet HtmlAdapt

    or threw exception: javax.management.MalformedObjectNameException: Invalid character ':' in value part of property

            at javax.management.ObjectName.construct(ObjectName.java:602) [:1.6.0_26]

            at javax.management.ObjectName.<init>(ObjectName.java:1403) [:1.6.0_26]

            at org.jboss.jmx.adaptor.control.Server.getMBeanData(Server.java:97) [:]

            at org.jboss.jmx.adaptor.html.HtmlAdaptorServlet$1.run(HtmlAdaptorServlet.java:357) [:]

            at org.jboss.jmx.adaptor.html.HtmlAdaptorServlet$1.run(HtmlAdaptorServlet.java:354) [:]

            at java.security.AccessController.doPrivileged(Native Method) [:1.6.0_26]

            at org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.getMBeanData(HtmlAdaptorServlet.java:353) [:]

            at org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.inspectMBean(HtmlAdaptorServlet.java:224) [:]

            at org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.processRequest(HtmlAdaptorServlet.java:100) [:]

            at org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.doGet(HtmlAdaptorServlet.java:81) [:]

            at javax.servlet.http.HttpServlet.service(HttpServlet.java:734) [:1.0.0.Final]

            at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [:1.0.0.Final]

            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324) [:6.0.0.Final]

            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.0.0.Final]

            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [:6.0.0.Final]

            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) [:6.0.0.Final]

            at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181) [:6.0.0.Final]

            at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88) [:6.0.0.Final]

            at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100) [:6.0.0.Final]

            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) [:6.0.0.Final]

            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [:6.0.0.Final]

            at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) [:6.0.0.Final]

            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [:6.0.0.Final]

            at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53) [:6.0.0.Final]

            at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [:6.0.0.Final]

            at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [:6.0.0.Final]

            at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654) [:6.0.0.Final]

            at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951) [:6.0.0.Final]

            at java.lang.Thread.run(Thread.java:662) [:1.6.0_26]