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