Hi Christian, The CND file is not XML and it seems that the JackrabbitSessionFactory defaults to XML, you should probably set the session factory's contentType property to JackrabbitNodeTypeManager.TEXT_X_JCR_CND. This may help.
Regards Felix PS: And yes, I just looked at the source code and no, I do not more of SpringModules :-) On 6/28/07, Christian Kalkhoff <[EMAIL PROTECTED]> wrote:
Hi, today I tried to build my first node types. I integrate jackrabbit 1.3using spring-modules 0.8. I defined my base.cnd: /* * Basic types for ninan.info */ <ninan="http://ninan.info/"> [ninan:Content] > mix:referenceable, mix:versionable - ninan:hidden (BOOLEAN) = TRUE - ninan:urlTitle (STRING) - ninan:startDate (DATE) - ninan:endDate (DATE) - ninan:tags (STRING) multiple Starting my tomcat I get: [Fatal Error] :1:1: Content is not allowed in prolog. 2007-06-28 22:24:34,013 [main] ERROR org.springframework. web.context.ContextLoader - Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'blogService' defined in class path resource [ applicationContext.xml]: Cannot create inner bean ' info.ninan.blog.impl.JcrBlogDAO#48e385' of type [ info.ninan.blog.impl.JcrBlogDAO] while setting bean property 'blogDAO'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'info.ninan.blog.impl.JcrBlogDAO#48e385' defined in class path resource [applicationContext.xml]: Cannot resolve reference to bean 'jcrTemplate' while setting bean property 'template'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jcrTemplate' defined in class path resource [ applicationContext.xml]: Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [ applicationContext.xml]: Invocation of init method failed; nested exception is java.io.IOException: Content is not allowed in prolog. Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'info.ninan.blog.impl.JcrBlogDAO#48e385' defined in class path resource [applicationContext.xml]: Cannot resolve reference to bean 'jcrTemplate' while setting bean property 'template'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jcrTemplate' defined in class path resource [ applicationContext.xml]: Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [ applicationContext.xml]: Invocation of init method failed; nested exception is java.io.IOException: Content is not allowed in prolog. Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jcrTemplate' defined in class path resource [ applicationContext.xml]: Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [ applicationContext.xml]: Invocation of init method failed; nested exception is java.io.IOException: Content is not allowed in prolog. Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [ applicationContext.xml]: Invocation of init method failed; nested exception is java.io.IOException: Content is not allowed in prolog. Caused by: java.io.IOException: Content is not allowed in prolog. at org.apache.jackrabbit.core.util.DOMWalker.<init>(DOMWalker.java :65) at org.apache.jackrabbit.core.nodetype.xml.NodeTypeReader.<init>( NodeTypeReader.java:90) at org.apache.jackrabbit.core.nodetype.NodeTypeManagerImpl.registerNodeTypes( NodeTypeManagerImpl.java:224) at org.apache.jackrabbit.core.nodetype.NodeTypeManagerImpl.registerNodeTypes( NodeTypeManagerImpl.java:475) at org.springmodules.jcr.jackrabbit.JackrabbitSessionFactory.registerNodeTypes (JackrabbitSessionFactory.java:67) at org.springmodules.jcr.JcrSessionFactory.afterPropertiesSet( JcrSessionFactory.java:126) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods (AbstractAutowireCapableBeanFactory.java:1202) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean (AbstractAutowireCapableBeanFactory.java:1172) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory.java:428) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject( AbstractBeanFactory.java:251) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry.java:156) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean( AbstractBeanFactory.java:248) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean( AbstractBeanFactory.java:160) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference (BeanDefinitionValueResolver.java:261) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary (BeanDefinitionValueResolver.java:109) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues (AbstractAutowireCapableBeanFactory.java:1100) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean (AbstractAutowireCapableBeanFactory.java:862) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory.java:424) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject( AbstractBeanFactory.java:251) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry.java:156) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean( AbstractBeanFactory.java:248) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean( AbstractBeanFactory.java:160) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference (BeanDefinitionValueResolver.java:261) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary (BeanDefinitionValueResolver.java:109) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues (AbstractAutowireCapableBeanFactory.java:1100) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean (AbstractAutowireCapableBeanFactory.java:862) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory.java:424) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean (BeanDefinitionValueResolver.java:215) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary (BeanDefinitionValueResolver.java:122) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues (AbstractAutowireCapableBeanFactory.java:1100) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean (AbstractAutowireCapableBeanFactory.java:862) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory.java:424) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject( AbstractBeanFactory.java:251) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry.java:156) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean( AbstractBeanFactory.java:248) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean( AbstractBeanFactory.java:160) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons (DefaultListableBeanFactory.java:287) at org.springframework.context.support.AbstractApplicationContext.refresh( AbstractApplicationContext.java:352) at org.springframework. web.context.ContextLoader.createWebApplicationContext(ContextLoader.java :244) at org.springframework. web.context.ContextLoader.initWebApplicationContext(ContextLoader.java :187) at org.springframework. web.context.ContextLoaderListener.contextInitialized( ContextLoaderListener.java:49) at org.apache.catalina.core.StandardContext.listenerStart( StandardContext.java:3763) at org.apache.catalina.core.StandardContext.start( StandardContext.java:4211) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java :1013) at org.apache.catalina.core.StandardHost.start(StandardHost.java :718) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java :1013) at org.apache.catalina.core.StandardEngine.start( StandardEngine.java:442) at org.apache.catalina.core.StandardService.start( StandardService.java:450) at org.apache.catalina.core.StandardServer.start( StandardServer.java:709) at org.apache.catalina.startup.Catalina.start(Catalina.java:551) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432) Caused by: org.xml.sax.SAXParseException: Content is not allowed in prolog. at org.apache.xerces.parsers.DOMParser.parse(Unknown Source) at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source) at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java :98) at org.apache.jackrabbit.core.util.DOMWalker.<init>(DOMWalker.java :60) ... 55 more As far as I can see jackrabbit is reading the cnd file as xml. But it is the CND format. On the website I found a reference to the "OLD" XML format and the new CND format. So in the stable release 1.3 is there support for the new CND format or am I stuck to that XML based definitions? I hope you can help me get things clear. Regards Christian -- Christian Kalkhoff <[EMAIL PROTECTED]> Softwareentwickler und Administrator http://ninan.info http://www.kalkhoff.net
