1 Reply Latest reply on Jan 16, 2009 9:15 AM by Manik Surtani

    XML validation error using JBC 3.0.1 GA

    u c Newbie

      I get the following error when I try to use the latest version of the jbosscache-core.jar. The error and the config are below. The config was working fine the 3.0 beta1 version.

      2009-01-16 05:54:32,412 [ERROR] Main Thread org.jboss.cache.config.parsing.RootElementBuilder$FailureErrorHandler.logAndThrowException(RootElementBuilder.java:137) - Configuration warning: The markup in the document following the root element must be well-formed.
      2009-01-16 05:54:32,412 [ERROR] Main Thread org.jboss.cache.config.parsing.RootElementBuilder.readRoot(RootElementBuilder.java:110) - org.jboss.cache.config.ConfigurationException: Incorrect configuration file. Use '-Djbosscache.config.validate=false' to disable validation.
      [Fatal Error] :8:8: The markup in the document following the root element must be well-formed.
      2009-01-16 05:54:32,443 [ERROR] Main Thread org.jboss.cache.config.parsing.XmlConfigHelper.getDocumentRoot(XmlConfigHelper.java:449) - Configurator SAXParse error
      org.xml.sax.SAXParseException: The markup in the document following the root element must be well-formed.
      at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
      at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
      at org.jboss.cache.config.parsing.XmlConfigHelper.getDocumentRoot(XmlConfigHelper.java:442)
      at org.jboss.cache.config.parsing.XmlConfigurationParser2x.parseStream(XmlConfigurationParser2x.java:103)
      at org.jboss.cache.config.parsing.XmlConfigurationParser2x.parseFile(XmlConfigurationParser2x.java:90)
      at org.jboss.cache.DefaultCacheFactory.createCache(DefaultCacheFactory.java:91)
      at org.jboss.cache.DefaultCacheFactory.createCache(DefaultCacheFactory.java:77)
      at cns.reports.cache.CacheServiceImpl.init(CacheServiceImpl.java:40)
      at cns.reports.cache.CacheServiceImpl.getCache(CacheServiceImpl.java:72)
      at cns.reports.cache.VendorCacheServiceImpl.(VendorCacheServiceImpl.java:43)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
      at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
      at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:85)
      at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87)
      at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:186)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:800)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:720)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:387)
      at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
      at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingl

      <?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="REPEATABLE_READ" lockParentForChildInsertRemove="true" lockAcquisitionTimeout="15000" nodeLockingScheme="mvcc"/>
      
       <eviction wakeUpInterval="60000">
       <!-- Cache wide default -->
       <default algorithmClass="org.jboss.cache.eviction.LRUAlgorithm" eventQueueSize="200000">
       <attribute name="maxNodes">5000</attribute>
       <attribute name="timeToLive">1000000</attribute>
       </default>
      
       <region name="/root/cache/memory" actionPolicyClass="org.jboss.cache.eviction.RemoveOnEvictActionPolicy" >
       <attribute name="maxNodes">50</attribute>
       <attribute name="timeToLive">10000</attribute>
       </region>
      
       <region name="/root/cache" algorithmClass="org.jboss.cache.eviction.LRUAlgorithm" eventQueueSize="200000">
       <attribute name="maxNodes">5</attribute>
       <attribute name="timeToLive">1000</attribute>
       </region>
      
       </eviction>
       <loaders passivation="false" shared="true">
       <!-- if passivation is true, only the first cache loader is used; the rest are ignored -->
       <loader class="org.jboss.cache.loader.JDBCCacheLoader" async="true" fetchPersistentState="true"
       ignoreModifications="false" purgeOnStartup="false">
       <properties>
       cache.jdbc.table.name=jboss_cache
       cache.jdbc.table.create=false
       cache.jdbc.table.drop=false
       cache.jdbc.table.select=true
       cache.jdbc.table.primarykey=cache_id
       cache.jdbc.fqn.column=fqn
       cache.jdbc.fqn.type=varchar(255)
       cache.jdbc.node.column=node
       cache.jdbc.node.type=blob
       cache.jdbc.parent.column=parent
       cache.jdbc.parent.type=varchar(255)
       cache.jdbc.driver=com.mysql.jdbc.Driver
       cache.jdbc.url=jdbc:mysql://CACHEDATABASE:3333/jboss_cache
       cache.jdbc.user=user
       cache.jdbc.password=password
       cache.jdbc.sql-concat=concat(1,2)
      
       c3p0.maxIdleTime=60
       c3p0.minPoolSize=0
       c3p0.maxPoolSize=40
       c3p0.checkoutTimeout=5000
       cache.jdbc.connection.factory=org.jboss.cache.loader.C3p0ConnectionFactory
      
       </properties>
       </loader>
       </loaders>
      
       </jbosscache>