jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dominique Pfister (JIRA)" <j...@apache.org>
Subject [jira] Commented: (JCR-1441) Support workspace event listeners that will be created/registered on initialization time
Date Wed, 05 Mar 2008 15:43:40 GMT

    [ https://issues.apache.org/jira/browse/JCR-1441?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12575384#action_12575384

Dominique Pfister commented on JCR-1441:

> 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. 

Yes, we could. I simply consider the <workspace> section to be the most natural location.

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

I didn't think about that. The event listeners are created/registered after the repository
itself and the search manager are registered as EventListeners (in RepositoryImpl.initWorkspace),
so there shouldn't be more overhead.

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

Yes, it could. On the other hand, I was afraid that registration via JCR methods might hide
some events (because of access control problems or the like).

> 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.

View raw message