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