-
Feature Request
-
Resolution: Done
-
Major
-
None
-
None
-
None
David Lloyds brain dump:
- I had a couple thoughts about the MSC API that I've been pondering since the Elytron integration
- I was deep into the services of the EJB subsystem
- they are pretty tangled up in there
- one big reason is, I think, due to a basic limitation of MSC
- the fact that services have only one value
- if you want a service to provide more than one value, you have to set up dummy services which depend on the "parent" service, which is a big pain
- I was thinking that services really have three basic characteristics
- #1 is - the identity of the service itself; this is important for controlling or removing the actual service
- #2 is - the things the service requires (dependencies), which are consumed as values
- #3 is - the things the service provides; presently a service can only provide one thing (but it can provide it under many names using service aliases)
- it would be nice if we could decouple these things
- so I could write a single service which provides two different values under two different names, by two different "get" methods for example
- this is useful for EJB because sometimes you might have one service providing multiple values under different names, and sometimes you might have multiple services providing the same values under single names
- it's surprisingly difficult to deal with this situation
- incorporates
-
MSC-227 Introduce org.jboss.msc.Service interface with just lifecycle methods
- Resolved
-
MSC-228 Revert aliases deprecation
- Resolved
-
MSC-229 Implement check that ensures all injectors are initialized on service start
- Resolved
-
MSC-230 Introduce org.jboss.msc.Service.newInstance() method for services providing single value
- Resolved
-
MSC-231 Completely deprecate org.jboss.msc.inject and org.jboss.msc.value packages
- Resolved
- relates to
-
MSC-218 Eliminate notion of primary and alias registrations - all registrations are equal
- Resolved
-
MSC-225 ReadableValueImpl must be shareable across multiple services
- Resolved
-
MSC-223 Deprecate ServiceContoller value retrieval methods
- Resolved
-
MSC-224 Deprecate Substate and Transition classes
- Resolved
-
MSC-226 Every service must have its identity service name to be manageable
- Resolved