Hi,

Ian Boston schrieb:
> Agreed,
> the reason for sharing this is we have some use cases that need to look
> at the node state prior to save. In the past (pre OSGi) we added these
> to the the jcr server component. Since this is now owned by Sling, we
> cant do that any more without patching the jackrabbit-server bundle.
> Obviously there needs to be a hook somewhere for this use case to be
> covered.
> 
> The more generic event use case *is* better handled by the OSGi event
> service, especially where delivery is not expected to be on the same
> thread or even on the same cluster node.
> 
> I could make this patch only for SynchronousEventsListeners.
> WDYT?

I have to admit, that I have my issues with this patch, too. First it
introduces new API and second it exposes a Jackrabbit internal feature
(SynchronousEventListener) which is AFAICT not intended for general use.

May I ask you, what your use case for the SynchronousEventListener is ?

So I would also prefer a solution, which the standard OSGi Event Admin
service: Using service registration properties EventHandler services may
limit the events they receive.

To support Jackrabbit SynchronousEventListeners, the OSGi EventAdmin
bridge (bridging JCR events to OSGi events) may use synchronous event
delivery (EventAdmin.sendEvent). For normal EventListeners, the regular
asynchronous event delivery (EventAdmin.postEvent) is used.

WDYT ?

Regards
Felix

> 
> Ian
> 
> On 6 May 2009, at 15:57, Carsten Ziegeler (JIRA) wrote:
> 
>>
>>    [
>> https://issues.apache.org/jira/browse/SLING-957?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12706451#action_12706451
>> ]
>>
>> Carsten Ziegeler commented on SLING-957:
>> ----------------------------------------
>>
>> I haven't locked at the patch yet, but nevertheless I'm in favour of a
>> more generic/Sling like solution, taking the resource tree into account.
>> Something along the lines of
>> https://issues.apache.org/jira/browse/SLING-944
>>
>>> JCR EventListeners are not easy to create or write
>>> --------------------------------------------------
>>>
>>>                Key: SLING-957
>>>                URL: https://issues.apache.org/jira/browse/SLING-957
>>>            Project: Sling
>>>         Issue Type: New Feature
>>>         Components: JCR
>>>           Reporter: Ian Boston
>>>        Attachments: RegisterableEventManager.patch
>>>
>>>
>>> JCE EventListeners have some drawbacks in the current sling environment.
>>> Its relatively expensive to register them as each provider needs its
>>> own jcr session.
>>> Its not possible to register synchronous event listeners as this is
>>> part of the jackrabbit-server bundle.
>>> The patch to follow adds an EventManager to jackrabbit-server that
>>> ServiceTrack(s) a provider interface, registering
>>> InjectableEventListners as normal jcr event listeners or sync event
>>> listeners.
>>> This patch assumes that you trust all the code in the JVM and are
>>> happy giving bundles access to the JCR System Session.
>>
>> -- 
>> 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