jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christophe Lombart" <christophe.lomb...@gmail.com>
Subject Session pool (was : loading javaclasses-node mapping files in multiuser environment)
Date Sat, 19 May 2007 07:43:02 GMT
Felix,

Concerning the session pool, are you using the same credentials for each
session in the pool or a null value ? I need to build a session pool in a
couple of weeks and I'm wonder how to setup one in a context where we are
also using JAAS.  Following the spec, if the credentials is null, the repo
should obtain the identity by calling the method getSubject.  So, I expect
I'm still need to make a login/logout for each request. Is it acceptable in
term of performance ?

br,
Christophe


On 5/18/07, Felix Meschberger < Felix.Meschberger@day.com> wrote:
>
> Hi Ruchi,
>
> I do in fact do the same. After having looked at the code, it seems, that
> the mappers etc. do not have any instance data, which would cause
> collisions
> situations. An in fact, it proved rather stable.
>
> But then, I also do not store the JCR sessions in an HTTPSession to
> prevent
> concurrency issues. Instead I implemented session pooling and just provide
> each request its own session, which is returned to the pool on logout.
>
> Regards
> Felix
>
> On 5/18/07, ruchi goel <Ruchi.Goel@sun.com> wrote:
> >
> > Hi,
> >    I am using OCM (jcr-mapping ) to access jackrabbit repository.
> >
> >
> >
> > To get  persistenceManager , I am doing the following :
> >
> > Class PMSetUp{
> >
> >
> >     private static QueryManager queryManager;
> >
> >     private static Mapper mapper;
> >
> >     private static AtomicTypeConverterProvider converterProvider;
> >
> >     private static ObjectConverter objectConverter;
> >
> >     private static pmIsInitiaized = false;
> >
> >     public void init(){
> >         String path =  "." + fs + "config";
> >         files[0] = path + fs + "portalCMS_jcrmapping.xml";
> >
> >         //set up OCM
> >         mapper = new DigesterMapperImpl(files);
> >         converterProvider = new DefaultAtomicTypeConverterProvider();
> >         Map atomicTypeConverters =
> > converterProvider.getAtomicTypeConverters();
> >         queryManager = new QueryManagerImpl(mapper,
> atomicTypeConverters);
> >         objectConverter = new ObjectConverterImpl(mapper,
> > converterProvider);
> >         pmIsInitiaized = true;
> >      }
> >
> >      public PersistenceManager getPersistenceManager(HttpRequest
> > request) throws CMSException {
> >        if (!pmIsInitialized){
> >           init();
> >           }
> >           return new PersistenceManagerImpl(mapper, objectConverter,
> > queryManager, request.getSession().getAttribute("jcrSession");
> >     }
> > }
> >
> > In case of single user environment , the above works fine. My question
> > is in case of multiuser environment also, can I have querymanager,
> > mapper etc.as static since they are not dependent on user session.
> >
> >
> > Thanks,
> > Ruchi
> >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message