jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Vincent Massol <vinc...@massol.net>
Subject How to use a different implementation of ObservationManager?
Date Wed, 04 Feb 2009 17:32:00 GMT
Hi there,

I'm completely new to Jackrabbit and JCR. I'm researching it in order  
to replace our current Model and Storage API in XWiki (http:// 

The JCR API encompasses lots of APIs from different domains (Mode,  
Storage, Observation, Query, Authentication, etc) and I'm interested  
in keeping some of our implementations for those. Specifically we  
already have an Observation component that I'd like to be able to  
reuse since it's more generic than the API offered by the JCR (we use  
it for events other than  events generated by the Model).

I was wondering what was the best way to use introduce a bridge  
implementation that would bridge between the JCR API and our API.

I haven't found any configuration property in the jackrabbit xml file  
to specify what implementation to use for the ObservationManager  
interface (might this be a good thing to add?).

So my guess so far is that I'll have to extend WorkspaceImpl and  
override quite a few methods in order to replace  
ObservationManagerImpl by my own implementation (dispose(),  
getObservationManager(), getEventJournal()). It doesn't look that  
trivial to do. Also it breaks the ability to easily switch to another  
JCR implementation later on if needed.

Another option I have I guess is to implement Session and Workspace  
JCR APIs fully and delegate calls to the JackRabbit implementation  
classes. That sounds like lots of work just to change the  
ObservationManager implementation.

Thanks for any directions


View raw message