[ 
https://issues.apache.org/jira/browse/OAK-960?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13741999#comment-13741999
 ] 

Jukka Zitting commented on OAK-960:
-----------------------------------

OK. It would be good if the allowed side-effects were listed in the 
{{SessionOperationInterceptor}} interface, preferably as explicit input/output 
parameters so that it's clear what the effects of calling the {{before()}} and 
{{after()}} methods can be. See for example the {{CommitHook}} and 
{{Editor}}/{{EditorProvider}} interfaces that identify the allowed inputs and 
outputs of the implementing classes.

bq. SessionSynchronizer

In general the idea is good, though I'd love to see a simpler implementation as 
I'm not sure I follow all the details here.

For example the built-in servlet filter part seems excessive. Instead I'd go 
for a configurable flag like the existing refresh interval setting, and if 
needed, have a completely separate servlet filter be in charge of setting that 
flag.

I'm not even sure whether there's a need for having this kind of refresh 
synchronization for HTTP requests but not other threads, why not simply do it 
for all use cases as interleaving session accesses in a single thread is in any 
case a potential backwards compatibility issue?
                
> Provide an interceptor for SessionOperations
> --------------------------------------------
>
>                 Key: OAK-960
>                 URL: https://issues.apache.org/jira/browse/OAK-960
>             Project: Jackrabbit Oak
>          Issue Type: New Feature
>          Components: core, jcr
>    Affects Versions: 0.8
>            Reporter: Chetan Mehrotra
>            Assignee: Chetan Mehrotra
>            Priority: Minor
>         Attachments: OAK-960.patch, SessionSynchronizer.java
>
>
> To support certain scenarios like
> * Logging session operation being performed
> * Coordinating refresh state among multiple session used in same thread
> It would be helpful to expose a {{SessionOperationInterceptor}} which can be 
> invoked by the {{SessionDelegate}} before and after the operation is 
> performed.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to