Details
-
New Feature
-
Status: Closed
-
Major
-
Resolution: Fixed
-
scr-1.8.0
-
None
Description
The lifecycle constraints of factory components make them generally useless. This introduces a different kind of factory component where:
- the componentFactory service is always registered irrespective of whether any references are available
- the components created by newInstance act like regular components created by config admin factory pids; the component is present whether or not references are available and the instance comes and goes as references come and go. Calling dispose removes the component.
- a modify method is added to the ComponentInstance returned from newInstance. (the ComponentInstance implements a new, extension, interface with the modify method)
There are some consequences, such as ComponentInstance.getInstance() may return null and may not always return the same object.
This behavior can be turned on for a particular component with a "extension" attribute in the component descriptor
xmlns:felix="http://felix.apache.org/xmlns/scr/extensions/v1.0.0"
felix:persistentFactoryComponent="true"