Goals defined below address both:
* Cloud First Effort
- Reduce WildFly memory footprint
- Speed up WildFly boot time
* Potential Migration to MSC 2
MSC Library Goals:
* SHORT TERM GOALS (MSC 1.2.x, 1.3.x)
[1] simplify MSC state machine - deprecate useless MSC internal states
(e.g. REMOVED, WONT_START, WAITING, REMOVING, STOPPING maybe others)
[2] deprecate API exposing MSC internals
(e.g. replace ServiceListener with LifecycleListener)
[3] deprecate MSC Values, Injections & Injectors and provide alternative API
(alternative API should have same minimalistic memory requirements like MSC 2)
* LONG TERM GOALS (MSC 1.4.x)
[4] remove deprecated APIs and all deprecated stuff
WildFly MSC Integration Goals:
+ SHORT TERM GOALS (WildFly 12)
* replace ServiceListeners with LifecycleListeners (LifecycleListeners don't expose MSC internals)
* eliminate MSC optional dependencies from WildFLy Core
* eliminate MSC Values, Injections & Injectors and migrate to alternative API
* WildFly Management Layer should not expose MSC APIs as its public API
(complicates potential migration to MSC2 and breaks encapsulation)
+ LONG TERM GOALS (WildFly versions targeting next major EAP)
* eliminate MSC optional dependencies from WildFly (probably via Capabilities)
(MSC Optional Dependencies have been fixed recently but there's still performance issue
- in worst case scenario if service A has N optional dependencies
it may happen service A is restarted N times before it is stabilized in UP state)
Feedback and comments more than welcome!
--
Rio