@Contract public interface JustInTimeInjectionResolver
All injection resolvers registered with the system will be called in a random order. Resolvers should therefore not rely on the ordering of installed injection resolvers. Any injection resolvers added as a result of this callback will NOT be called until the next injection resolution failure.
Implementations of this interface are placed into the registry like
any other service. One use-case would be to inject the
DynamicConfigurationService
into the implementation in order
to add services if this resolver can do so. Another option would
be to inject a ServiceLocator
and use one of the methods
in ServiceLocatorUtilities
in order
to add services to the registry
If any of the registered injection resolvers commits a dynamic change then the system will try one more time to resolve the injection before failing (or returning null if the injection point is Optional).
Modifier and Type | Method and Description |
---|---|
boolean |
justInTimeResolution(Injectee failedInjectionPoint)
This method will be called whenever an injection point cannot be resolved.
|
boolean justInTimeResolution(Injectee failedInjectionPoint)
If this method throws an exception that exception will be added to the set of exceptions in the MultiException that may be thrown from the injection resolver.
This method can be called on multiple threads with different or the same
Injectee
. Therefore care must be taken in this method to not add
the same descriptor more than once
failedInjectionPoint
- The injection point that failed to resolveServiceLocator
which may be used to resolve the Injectee
. False if this method
did not add a descriptor to the ServiceLocator
that might help
resolve the injection pointCopyright © 2009-2017, Oracle and/or its affiliates. All Rights Reserved.