8 Replies Latest reply on Jul 20, 2011 9:39 AM by mduffy

    Invalid character ':' in value part of property

    thangamani_r

      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();



        • 1. Re: Invalid character ':' in value part of property
          manik
          • 2. Re: Invalid character ':' in value part of property
            thangamani_r

            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

              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
                thangamani_r

                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
                  thangamani_r

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

                  • 6. Re: Invalid character ':' in value part of property
                    shooter

                    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

                      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
                        mduffy

                        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]