[ https://issues.apache.org/jira/browse/FELIX-3864?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tuomas Kiviaho closed FELIX-3864. --------------------------------- Resolution: Not a Problem > Synchronized injection > ---------------------- > > Key: FELIX-3864 > URL: https://issues.apache.org/jira/browse/FELIX-3864 > Project: Felix > Issue Type: Improvement > Components: Dependency Manager > Affects Versions: dependencymanager-3.0.0 > Reporter: Tuomas Kiviaho > > I see myself repeating the following pattern quite often > {code} > @ServiceDependency( removed = "removed", required=true ) > synchronized void added(LogService logService ) > { > this.logService = logService; > } > synchronized void removed(LogService logService ) > { > this.logService = null; > } > {code} > Would it be possible to get optional synchronization support directly from > dependency manager. I noticed that there's a sort of synchronization already > taking place at ComponentImpl > {code} > private void configureImplementation(Class clazz, Object instance, String > instanceName) { > ... > synchronized (SYNC) { > field.set(serviceInstance, > instance); > } > {code} > I propose adding of 'boolean synchronization default false' attribute to > @*Dependency which might contain a notion that this applies only to field > injection. If syncronization between component's field injections is not > needed then SYNC could be replaced with serviceInstance whenever the > attribute is set. -- This message was sent by Atlassian JIRA (v6.3.4#6332)