[
https://issues.apache.org/jira/browse/SLING-4154?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14217632#comment-14217632
]
Carsten Ziegeler commented on SLING-4154:
-----------------------------------------
If none is perfect, we have to find the perfect one :)
Another option would be to use stateless services and no OSGi configurations
but store the config as you suggest in the repository and pass this as a DTO to
each service call. Of course this would require that the client first gets the
correct configuration, so something like (neglecting all error handling):
AgentConfig config = configManager.getConfiguration(AgentConfig.class,
"agentName");
Agent agent =
bundleContext.getService(bundleContext.getServiceReference(Agent.class, null));
agent.doSomething(config, andParameters)
This is the far opposite of using OSGi configurations by using no OSGi
configurations at all but stateless OSGi services. I think, we should have a
clear setup and avoid any mixture which lies in between the far ends
(everything is an OSGi configuration or no OSGi configurations at all)
> 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)