[
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