You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by ms...@email.cz on 2012/03/02 13:00:21 UTC

CacheManager access on JBoss 7

Hi,

I am using Jakcrabbit 2.2.9 on JBoss 7 with JCA. I get repository/session in my code using:
repository = (Repository) new InitialContext().lookup(config.getJndiName());

This repository is JCARepositoryHandle. I need to get RepositoryImpl so that I can get CacheManeger but due to class loading in JBoss I cannot use:
        Session session = repository.login(config.getCredentials());
        RepositoryImpl r = (RepositoryImpl) session.getRepository();

because class RepositoryImpl in my code and returned from session are loaded by different classloader. Is there any way how to access Jackrabbti API/core classes? (I had the same problem with DataStoreGarbageCollector.) So far I did not find
any solution to this. Or I need some other way how to change CacheManager setting.

If I understand correctly CacheManager limits memory used by all caches and max default is now 16MB so if I set bundleCacheSize on higher value it has no effect right?

Thanks

Marek


Marek Slama
mslama@email.cz

Re: CacheManager access on JBoss 7

Posted by ms...@email.cz.
By looking at code I found that CacheManager is actually using system property so I must set system property for it.
Still I am interested if there is any way how to access Jackrabbit API/core in JBoss. I know JCR API is used as JBoss module so its classes should be loaded just once. I even tried to make also some Jackrabbit jars as JBoss modules but it did not work for me. I could not initialize connection then. Is there anybody who successfuly solved this problem on JBoss 7?

Thanks

Marek

> ------------ Původní zpráva ------------
> Od:  <ms...@email.cz>
> Předmět: CacheManager access on JBoss 7
> Datum: 02.3.2012 13:01:08
> ----------------------------------------
> Hi,
> 
> I am using Jakcrabbit 2.2.9 on JBoss 7 with JCA. I get repository/session in my
> code using:
> repository = (Repository) new InitialContext().lookup(config.getJndiName());
> 
> This repository is JCARepositoryHandle. I need to get RepositoryImpl so that I
> can get CacheManeger but due to class loading in JBoss I cannot use:
>         Session session = repository.login(config.getCredentials());
>         RepositoryImpl r = (RepositoryImpl) session.getRepository();
> 
> because class RepositoryImpl in my code and returned from session are loaded by
> different classloader. Is there any way how to access Jackrabbti API/core
> classes? (I had the same problem with DataStoreGarbageCollector.) So far I did
> not find
> any solution to this. Or I need some other way how to change CacheManager
> setting.
> 
> If I understand correctly CacheManager limits memory used by all caches and max
> default is now 16MB so if I set bundleCacheSize on higher value it has no effect
> right?
> 
> Thanks
> 
> Marek
> 
> 
> Marek Slama
> mslama@email.cz
> 
> 
> 

Marek Slama
mslama@email.cz