[ https://issues.apache.org/jira/browse/SLING-4154?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14216249#comment-14216249 ]
Marius Petria commented on SLING-4154: -------------------------------------- Hi [~cziegeler], Your proposal is very similar to what I proposed above with the main difference that you prefer using a ResourceProvider while I proposed a jcr representation of configs. Both proposals share the fact that a json is translated in a set of OSGI configs (to make the ownership work we can use a you suggest an OWNER property that stores the id of the OWNER). I will comment first on the common thing. Generating the set of OSGI configs for a json of agents settings is more standard from the point of view of component management. In my opinion it is more error prone because of asyncronicity. However, I understand that using the standard injection features of OSGI offer a cleaner framework so I am OK with that. The difference between proposals is that I am proposing to treat the "agent settings" (the single file for configuration) as a different persistent entity than the underlying osgi configs. I think that helps a lot with points 2 and 4 of my previous post and also with SLING-3837. You are saying that introduces a synchronization problem, but that is not too big in my opinion. First, the osgi configs that are created from "agent settings" will not be persisted in JCR (there is a property to skip that). Second, they will be created at instance startup and deleted at instance shutdown. Hence they are just used to ease component creation. If a config is edited in configMgr and goes out of sync the change will be active just for that run, the persistent settings are actually stored in "agent settings". > 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)