Hi, I need to add low level auditing to JCR - the auditing class writes entries to a completely separate auditing database outside of JackRabbit. This should be similar in operation to a HibernateInterceptor in Hibernate, which operates at the point of item state changes in the API.
To do this I've implemented a NodeStateListener class - which seems to do everything that I need such as watching for added/removed nodes etc etc. Unfortunately since the Session.getItemStateManager() method has a *protected* method (which is the object I need to add the listener to), the only *clean* way to add this listener is to wrap and override (as a minimum!!) jcrtemplate (we use Spring) sessionfactory, and session (not including having to wrap all the transactional and support interfaces too) . So far I've cheated and used reflection to bodge it in instead - is there a better clean way of just adding the NodeStateListener to the session that I've missed - it seems this should be a basic operation, and support is already in the API, but unlike Hibernate's capability it doesn't seem publicly exposed? Thanks, Benjamin
