[ 
https://issues.apache.org/jira/browse/JCR-1865?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12750589#action_12750589
 ] 

Jukka Zitting commented on JCR-1865:
------------------------------------

> And how do you do that? For the admin session, getRepository() returns a 
> ManagedRepositoryImpl,
> and for non-admin sessions, it returns RepositoryImpl?

Nope, the ManagedRepository (or perhaps some other name) interface would *not* 
extend javax.jcr.Repository and would not be implemented by the Repository 
instance. Only clients that have explicitly been given a ManagedRepository 
reference could access management operation like garbage collection, shutdown, 
backup, etc.

Access to the ManagedRepository reference can be controlled by for example 
selectively making the JNDI reference available to applications that need such 
access, or for remote access for example by using the standard RMI or JMXMP 
access controls. The way I see it, access to such management features is more a 
configuration/deployment question than normal JCR authentication/authorization 
issue. Of course that's just one point of view.

> I need it to do display the progress.

The API as proposed only tells what the collector is currently doing not how 
much work still remains. Is that enough?

> > Could we achieve the same use case with a simpler API? 
> Not as far as I know.

Does the MarkEventListener interface need to extend EventListener? Why do we 
need separate before/after events? Do the event methods need a Node argument, 
or would a path (or identifier) string be enough? Is the done() method needed 
or could the same information be inferred from the mark( ) method returning?

> The observation listener is an implementation detail of the garbage 
> collector. The user of the API should have to deal with it.

Sorry, I misunderstood your earlier comment about the listener, I thought you 
referred tot he MarkEventListener instance. :-)

I now see your point about the close() method, but couldn't the sweep() method 
already release any reserved resources? AFAIK they're not needed after sweep() 
returns.


> Add the Data Store to the Jackrabbit API
> ----------------------------------------
>
>                 Key: JCR-1865
>                 URL: https://issues.apache.org/jira/browse/JCR-1865
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-core
>            Reporter: Thomas Mueller
>            Assignee: Thomas Mueller
>            Priority: Minor
>         Attachments: api.patch, api_2.patch, core.patch, core_2.patch
>
>
> Currently, the garbage collection is not part of the Jackrabbit API. However, 
> the data store garbage collection must be used once in a while if the data 
> store is enabled. I propose to add the required interfaces to the Jackrabbit 
> API. This will also allow to call garbage collection using RMI.

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