Hi everyone,
I would like to outline a brief JBoss MSC Plans for Year 2018.
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