Atlassian uses cookies to improve your browsing experience, perform analytics and research, and conduct advertising. Accept all cookies to indicate that you agree to our use of cookies on your device. Atlassian cookies and tracking notice, (opens new window)
We need a basic module lifecycle service so that applications developed against SNAP engine APIs can start and stop module on which they depend.
Use cases for the lifecycle service: install/uninstall/update auxdata, detect configuration/preferences changes and react, start/stop services & components (which are not using the service provider API).
NetBeans provides such services already (@OnStart, @OnStop annotations) but we don't want NetBeans platform dependencies in SNAP engine. The lifecycle API is best implemented using the JAR service provider API which can easily be used in NetBeans. For non-NetBeans applications (e.g. server-side apps, CLI apps), we need some static methods that collect all lifecycle service registrations and call start / stop on start / stop of the app.
We need a basic module lifecycle service so that applications developed against SNAP engine APIs can start and stop module on which they depend.
Use cases for the lifecycle service: install/uninstall/update auxdata, detect configuration/preferences changes and react, start/stop services & components (which are not using the service provider API).
NetBeans provides such services already (@OnStart, @OnStop annotations) but we don't want NetBeans platform dependencies in SNAP engine. The lifecycle API is best implemented using the JAR service provider API which can easily be used in NetBeans. For non-NetBeans applications (e.g. server-side apps, CLI apps), we need some static methods that collect all lifecycle service registrations and call start / stop on start / stop of the app.