This seems like a pretty straightforward classloader problem. The classloader providing JackrabbitSession to the Jackrabbit webapp is \ not the same as the classloader providing JackrabbitSession to the webapp in which the code below runs.
I'm not sure why you'd use two webapps to begin with. But if you must, this really isn't a question about Jackrabbit, it's about the servlet spec and/or your app server. Justin On Sat, Jan 22, 2011 at 3:55 PM, Yusuf Aaji <[email protected]> wrote: > any idea guys? I'm stuck here. > > Shouldn't I use this way to access the repository if I need user > management? > > BR, > Yusuf > > On Sat, Jan 22, 2011 at 12:13 AM, Yusuf Aaji <[email protected]> wrote: > > > Hi, > > > > When I try to cast the Session object to JackrabbitSession to get the > > UserManager I'm getting a classCastException > > > > #{accessManager.addUser}: java.lang.ClassCastException: > > org.apache.jackrabbit.core.XASessionImpl cannot be cast to > > org.apache.jackrabbit.api.JackrabbitSession > > at javax.faces.webapp.FacesServlet.service(FacesServlet.java:277) > > at > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) > > at > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) > > > > and this is how I'm getting my session: > > > > ServletContext context = (ServletContext) > > FacesContext.getCurrentInstance().getExternalContext().getContext(); > > ServletContext jackrabbit = context.getContext("/jackrabbit"); > > Repository repository = (Repository) > > jackrabbit.getAttribute(Repository.class.getName()); > > contentSession = repository.login( jcrCredentials ); > > > > > > any ideas? isn't XASessionImpl implement JackrabbitSession interface?!!! > > > > BR, > > Yusuf > > >
