[
https://jira.nuxeo.org/browse/NXP-6035?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Bogdan Stefanescu updated NXP-6035:
-----------------------------------
Impact type: [API change]
> Align to OSGi life cycle specifications
> ---------------------------------------
>
> Key: NXP-6035
> URL: https://jira.nuxeo.org/browse/NXP-6035
> Project: Nuxeo Enterprise Platform
> Issue Type: Improvement
> Affects Versions: 5.4
> Reporter: Bogdan Stefanescu
> Assignee: Bogdan Stefanescu
> Priority: Major
>
> There are 2 major issues in runtime - that are not OSGi compatible:
> 1. the FRAMEWORK_STARTED event is incorrectly used:
> - we cannot rely on this event to be sure that all nuxeo components are
> activated - since this event means that the OSGi framework started and not
> the application. For example in equinox this event is sent even before
> activating the Nuxeo runtime.
> To solve this the runtime will send a specific runtime event.
> Then I will rewrite the bootstrap code to avoid relying on FRAMEWORK_STARTED.
> (this is not urgent for now but will be to be able to start in felix)
> 2. Runtime components are activated in the RESOLVE life cycle phase - which
> is good. But in that phase the BundleContext is not available on true OSGi
> frameworks. This object is available only after the bundle was started - this
> means in the BundleActivator.
> Some Nuxeo components are accessing this object in the activate() method
> which is illegal since on most OSGi frameworks it will throws a NPE. (this is
> not the case in Equinox - this is why it is working in Apogee - but the specs
> are clearly saying this). In felix we have a NPE which is normal.
> To solve this I will refactor all components which are accessing the
> BundleContext in activate().
> This is a first step to be ready to run in any OSGi framework (like felix)
> The next step is to align Nuxeo services on OSGi services but this is a big
> refactoring (and not urgent)
> Services must be initialized when the bundle is started - this means in a
> BundleActivator - and not in the component activate() method which is called
> in RESOLVED state.
> This means moving all Nuxeo service initialization in BundleActivators.
> This also means components will be used only for extension points management
> and not for providing services.
> I will make later another JIRA tack for this.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.nuxeo.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
ECM-tickets mailing list
[email protected]
http://lists.nuxeo.com/mailman/listinfo/ecm-tickets