jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Felix Meschberger" <Felix.Meschber...@day.com>
Subject Re: loading javaclasses-node mapping files in multiuser environment
Date Fri, 18 May 2007 11:17:46 GMT
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