[
https://issues.apache.org/jira/browse/JCR-890?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12868623#action_12868623
]
Jukka Zitting commented on JCR-890:
-----------------------------------
Thanks for the review!
> why is the package called 'session'?
Perhaps some other term than "session" would be clearer. The way I see the
current Jackrabbit architecture (as muddy as it at times is), there are
basically two main parts:
1) "repository" part that consists of the global persisted state stored in
persistence managers, node type registry, etc. This state is seen and shared by
all clients that access the repository.
2) "session" part that consist of the transient changes that have not yet been
persisted. This part is private to each client. Note that I also consider
things like immediately persisted workspace operations (imports, copies and
moves, etc.) as part of the "session" layer up to the point when the relevant
ChangeLog gets persisted. Thus I count also classes like BatchedItemOperations
as part of this architectural layer.
Would "global" and "local" be better terms? Note that I'd rather avoid labels
like "persisted" and "transient" to prevent confusion with things like JCR-2051
(and since "transient" is a reserved word in Java).
Basically, when I talk about "session-related classes" above, I mean code
related to point 2 above.
> visibility
I was planning to move these classes first so I'd have a better picture of
these package-private dependencies (as seen in
session-class-move-norename.patch) before refactoring them away. Note that in
most cases I expect these changes to be minor refactorings, like replacing a
call to RepositoryImpl.getSomething() with an injected dependency. But yes, I
can take care of this also before other changes.
> concurrent read-only access to a session
> ----------------------------------------
>
> Key: JCR-890
> URL: https://issues.apache.org/jira/browse/JCR-890
> Project: Jackrabbit Content Repository
> Issue Type: Improvement
> Components: jackrabbit-core
> Reporter: David Nuescheler
> Assignee: Jukka Zitting
> Fix For: 2.2.0
>
> Attachments: session-class-move-norename.patch,
> session-class-move.patch
>
>
> Even though the JCR specification does not make a statement about Sessions
> shared across a number of threads I think it would be great for many
> applications if we could state that sharing a read-only session is supported
> by Jackrabbit.
> On many occasions in the mailing lists we stated that there should not be an
> issue with sharing a read-only session, however I think it has never been
> thoroughly tested or even specified as a "design goal".
> If we can come to an agreement that this is desirable I think it would be
> great to start including testcases to validate that behaviour and update the
> documentation respectively.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.