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

Carsten Ziegeler commented on SLING-4154:
-----------------------------------------

Well, my understanding has always been that everything should be configurable 
through OSGi configurations for this module. I don't think that an agent 
configuration also contains the configurations for the other services it needs. 
It references services which then have their own configuration. Otherwise you 
have to put the knowledge of how things get created and configured in a central 
place or use a very generic approach which is error prone.
SLING-3837 can be done with custom resource providers that map OSGi 
configurations into the resource tree.
If I look at [2] (ResourceBasedDistributionComponentFactory) that one is only 
registering agents and has this hard coded in the class, this really seems like 
trying to do something in a generic way which is simply not possible.
Again, seriously you're creating a mix of OSGi components, managed instances, 
OSGi configs, resource based configurations, OSGi factories, own factories, 
generic stuff that's hiding what it actually does etc.

> Discuss distribution components creation and configuration 
> -----------------------------------------------------------
>
>                 Key: SLING-4154
>                 URL: https://issues.apache.org/jira/browse/SLING-4154
>             Project: Sling
>          Issue Type: Task
>          Components: Distribution
>            Reporter: Marius Petria
>             Fix For: Content Distribution 0.2.0
>
>
> Distribution has one main component (agent) and several secondary components 
> (triggers, exporters and importers).
> These can be created as java objects using a DistributionComponentFactory. 
> The core framework provides a DefaultDistributionComponentFactory that will 
> create the components implemented in the core but a client can define its own 
> components and factory and the default component factory will use those to 
> create a component it does not know of.
> The core framework also provides two ways of registering such a java object 
> as an OSGI service:
> 1. using osgi configs, the osgi properties are parsed and passed to the 
> factory, a component is created and registered 
> (GenericDistributionComponentFactory)
> 2. resource configs, the properties of a resource are parsed and passed to 
> the factory, a component is created and registered 
> (ResourceBasedDistributionComponentFactory)
> Components registered as OSGI services are available as resources via 
> OsgiServicePropertiesResourceProvider.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to