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]