You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@wookie.apache.org by Scott Wilson <sc...@gmail.com> on 2011/05/13 20:36:29 UTC

Modularising persistence - JCR issue

Hi everyone,

I've been looking at separating out the persistence module for JCR from the "core" build - and making it more easily pluggable. However I've come across a problem with the JCR implementation - while it works OK according to the JCR persistence test run from Ant, if I try to run Wookie in standalone mode by setting:

# Embedded Jackrabbit JCR server configuration, (all properties required for deployed
# non-standalone configurations)
wookie.persistence.manager.type=jcr
#wookie.repository.user=java
#wookie.repository.password=java
#wookie.repository.rootpath=/wookie
#wookie.repository.workspace=default

Then I see this exception when using "ant run":

     [java] 19:16:25,915 ERROR log:? - Failed startup of context org.mortbay.jetty.webapp.WebAppContext@7cf01771{/wookie,build/webapp/wookie}
     [java] java.lang.RuntimeException: Unable to load or initialize PersistenceManager class: java.lang.reflect.InvocationTargetException
     [java] 	at org.apache.wookie.beans.util.PersistenceManagerFactory.initialize(PersistenceManagerFactory.java:74)
     [java] 	at org.apache.wookie.server.ContextListener.contextInitialized(ContextListener.java:109)
     [java] 	at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:530)
     [java] 	at org.mortbay.jetty.servlet.Context.startContext(Context.java:135)
     [java] 	at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1218)
     [java] 	at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:500)
     [java] 	at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
     [java] 	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
     [java] 	at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)
     [java] 	at org.mortbay.jetty.Server.doStart(Server.java:210)
     [java] 	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
     [java] 	at org.apache.wookie.server.Start.startServer(Start.java:124)
     [java] 	at org.apache.wookie.server.Start.main(Start.java:115)
     [java] Caused by: java.lang.reflect.InvocationTargetException
     [java] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     [java] 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
     [java] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
     [java] 	at java.lang.reflect.Method.invoke(Method.java:597)
     [java] 	at org.apache.wookie.beans.util.PersistenceManagerFactory.initialize(PersistenceManagerFactory.java:70)
     [java] 	... 12 more
     [java] Caused by: java.lang.RuntimeException: Unable to initialize: java.lang.ClassCastException: org.apache.jackrabbit.core.TransientRepository cannot be cast to javax.jcr.Repository
     [java] 	at org.apache.wookie.beans.jcr.JCRPersistenceManager.initialize(JCRPersistenceManager.java:342)
     [java] 	... 17 more
     [java] Caused by: java.lang.ClassCastException: org.apache.jackrabbit.core.TransientRepository cannot be cast to javax.jcr.Repository
     [java] 	at org.apache.wookie.beans.jcr.JCRPersistenceManager$1.makeObject(JCRPersistenceManager.java:216)
     [java] 	at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:840)
     [java] 	at org.apache.wookie.beans.jcr.JCRPersistenceManager.initialize(JCRPersistenceManager.java:243)
     [java] 	... 17 more

Any ideas? Can anyone run Wookie standalone with JCR OK?

The code in Start and in the test setup are pretty similar, but I don't really know enough about JackRabbit to know which differences (if any) might be important.

S