[ 
https://issues.apache.org/jira/browse/SLING-904?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12706081#action_12706081
 ] 

Bertrand Delacretaz commented on SLING-904:
-------------------------------------------

In revision 771821, the OSGi part of jcrinstall is now a separate bundle, 
source in contrib/extensions/jcrinstall/osgiworker

The worker bundle has minimal service dependencies:

PackageAdmin, StartLevel (both required)
ConfigurationAdmin (optional, dynamic)

So with our standard set of bundles it only depends on the 
org.apache.felix.framework and org.apache.sling.commons.log bundles. The log 
dependency can still be removed by (manually) modifying existing log statements.

The worker bundle does not use a single worker thread that runs all the time - 
as the OsgiController has an executeScheduledOperations() method that must be 
called to execute any queued OSGi-related operation, a thread is created by 
this method, and the method waits until the thread ends. That method 
synchronizes on the list of tasks to execute, so it cannot be called 
concurrently.

TODO:
Verify that config updates are deferred if ConfigAdmin is unavailable.
Maybe create OSGi-based unit tests (using pax exam or similar) for the worker 
bundle.



> jcrinstall - take three
> -----------------------
>
>                 Key: SLING-904
>                 URL: https://issues.apache.org/jira/browse/SLING-904
>             Project: Sling
>          Issue Type: Improvement
>          Components: JCR Install
>            Reporter: Bertrand Delacretaz
>
> Refactor and reengineer jcrinstall based on the accumulated experiences of 
> the "take two", SLING-646.
> See discussion in http://markmail.org/message/ld6tkz6fdseknntx

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