[ 
https://issues.apache.org/jira/browse/JCR-1441?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jukka Zitting reopened JCR-1441:
--------------------------------


I'm a bit worried about this approach as it IMHO binds much too tightly to the 
repository implementation. Reopening for discussing alternatives.

Comments:

* Couldn't we achieve this with something like an ObservationServlet (in 
jackrabbit-jcr-servlet) that is started (in web.xml of jackrabbit-webapp) right 
after the repository and that uses it's own configuration for setting up 
observers.

* If we need explicit workspace opened/closed events to avoid starting the 
observation sessions before someone actually accesses the workspace (or the 
workspace is created!), then it would IMHO be better to add and use a 
Jackrabbit-specific RepositoryListener interface with event methods like 
workspaceOpened() and workspaceClosed().

* The audit logger could be a normal JCR observation listener (in 
jackrabbit-jcr-commons). 



> Support workspace event listeners that will be created/registered on 
> initialization time
> ----------------------------------------------------------------------------------------
>
>                 Key: JCR-1441
>                 URL: https://issues.apache.org/jira/browse/JCR-1441
>             Project: Jackrabbit
>          Issue Type: New Feature
>          Components: jackrabbit-core
>    Affects Versions: core 1.4.1
>            Reporter: Dominique Pfister
>            Assignee: Dominique Pfister
>
> Add an <EventListener> section in workspace.xml (or the <Workspace> section 
> of repository.xml), containing custom javax.jcr.observation.EventListener 
> implementations that will be created and registered when the workspace is 
> initialized.
> The DTD for this section might look as follows:
> <!ELEMENT EventListener (param*)>
> <!ATTLIST EventListener class        CDATA #REQUIRED
>                         eventTypes   CDATA #IMPLIED
>                         absPath      CDATA #IMPLIED
>                         isDeep       CDATA #IMPLIED
>                         uuid         CDATA #IMPLIED
>                         nodeTypeName CDATA #IMPLIED
>                         noLocal      CDATA #IMPLIED>
> This would allow creating an audit logger that will log all write operations 
> on a workspace.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to