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] Reopened: (JCR-1441) Support workspace event listeners that will be created/registered on initialization time
Date Mon, 10 Mar 2008 13:09:46 GMT

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

Dominique Pfister reopened JCR-1441:

Hi Jukka,

I'm still convinced that this feature is worth adding, not only for an audit logger, so I
reopen this bug. Please find my revised answers to your comments below:

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

A repository can also be started without exposing a web interface. An observation listener
should also be available in this setup.

* 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(). 

The observation listeners would be created and registered in RepositoryImpl.initWorkspace()
(line 567). Please correct me, if I'm wrong, but as these listeners operate on the system
session, they will NOT prevent the workspace from becoming disposed if idle.

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

Agreed. I'd still favor enabling the audit logger in the jackrabbit-webapp distribution, as
this information can be very valuable IMHO.

What do you think?

Kind regards

> 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