Hi!

We are using Jackrabbit 1.33 with a sybase database. To register custom
nodetypes, we are using a cnd-File, and we configured this through the
JackrabbitSessionFactory of SpringModules. (see below)

        <bean id="jcrSessionFactory"
        
class="org.springmodules.jcr.jackrabbit.JackrabbitSessionFactory">
                <property name="repository" ref="repository" />
                <property name="workspaceName"
value="${repository.workspace.name}"/>
                <property name="credentials">
                        <bean class="javax.jcr.SimpleCredentials">
                                <constructor-arg index="0"
value="haidlas" />
                                <!-- create the credentials using a bean
factory -->
                                <constructor-arg index="1">
                                        <bean factory-bean="password"
        
factory-method="toCharArray" />
                                </constructor-arg>
                        </bean>
                </property>
                <property name="contentType" value="text/x-jcr-cnd" />
                <property name="nodeDefinitions">
                        <list>
                                <value>resourcePackageNodes.cnd</value>
                        </list>
                </property>
        </bean>

Our problem is, that we get a ClassCastException when trying to run the
application at startup to register the custom nodetypes:

org.springframework.beans.factory.BeanCreationException: Error creating
bean with name 'jcrSessionFactory' defined in ServletContext resource
[/WEB-INF/packageManager.xml]: Initialization of bean failed; nested
exception is java.lang.ClassCastException:
org.apache.jackrabbit.core.nodetype.NodeTypeManagerImpl
java.lang.ClassCastException:
org.apache.jackrabbit.core.nodetype.NodeTypeManagerImpl
        at
org.springmodules.jcr.jackrabbit.JackrabbitSessionFactory.registerNodeTy
pes(JackrabbitSessionFactory.java:59)
        at
org.springmodules.jcr.JcrSessionFactory.afterPropertiesSet(JcrSessionFac
tory.java:126)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
tory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1058)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
tory.createBean(AbstractAutowireCapableBeanFactory.java:363)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Ab
stractBeanFactory.java:226)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Ab
stractBeanFactory.java:147)
        at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.re
solveReference(BeanDefinitionValueResolver.java:176)
        at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.re
solveValueIfNecessary(BeanDefinitionValueResolver.java:105)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
tory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1012)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
tory.populateBean(AbstractAutowireCapableBeanFactory.java:823)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
tory.createBean(AbstractAutowireCapableBeanFactory.java:345)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Ab
stractBeanFactory.java:226)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Ab
stractBeanFactory.java:147)
        at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.re
solveReference(BeanDefinitionValueResolver.java:176)
        at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.re
solveValueIfNecessary(BeanDefinitionValueResolver.java:105)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
tory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1012)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
tory.populateBean(AbstractAutowireCapableBeanFactory.java:823)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
tory.createBean(AbstractAutowireCapableBeanFactory.java:345)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Ab
stractBeanFactory.java:226)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Ab
stractBeanFactory.java:147)
        at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.re
solveReference(BeanDefinitionValueResolver.java:176)
        at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.re
solveValueIfNecessary(BeanDefinitionValueResolver.java:105)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
tory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1012)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
tory.populateBean(AbstractAutowireCapableBeanFactory.java:823)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
tory.createBean(AbstractAutowireCapableBeanFactory.java:345)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Ab
stractBeanFactory.java:226)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Ab
stractBeanFactory.java:147)
        at
org.springframework.beans.factory.support.DefaultListableBeanFactory.pre
InstantiateSingletons(DefaultListableBeanFactory.java:275)
        at
org.springframework.context.support.AbstractApplicationContext.refresh(A
bstractApplicationContext.java:318)
        at
org.springframework.web.context.support.AbstractRefreshableWebApplicatio
nContext.refresh(AbstractRefreshableWebApplicationContext.java:134)
        at
org.springframework.web.context.ContextLoader.createWebApplicationContex
t(ContextLoader.java:230)
        at
org.springframework.web.context.ContextLoader.initWebApplicationContext(
ContextLoader.java:156)
        at
org.springframework.web.context.ContextLoaderListener.contextInitialized
(ContextLoaderListener.java:48)
        at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.j
ava:3827)
        at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4343
)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)
        at
org.apache.catalina.core.StandardHost.start(StandardHost.java:789)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)
        at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478)
        at
org.apache.catalina.core.StandardService.start(StandardService.java:480)
        at
org.apache.catalina.core.StandardServer.start(StandardServer.java:2313)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:556)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at
org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:287)
        at
org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:425)

We tracked this Issue to the following part of the
JackrabbitSessionFactory at line 59:

-- 
Matthias Neubauer
Deutsche Nationalbibliothek
Informationstechnik
Projekt kopal
Adickesallee 1
D-60322 Frankfurt am Main
Telefon: +49-69-1525-1778
Telefax: +49-69-1525-1799
mailto:[EMAIL PROTECTED]
http://www.d-nb.de

Reply via email to