Class CdiPropertyInjector
java.lang.Object
org.jboss.resteasy.cdi.CdiPropertyInjector
- All Implemented Interfaces:
PropertyInjector
JAX-RS property injection is performed twice on CDI Beans. Firstly by the JaxrsInjectionTarget
wrapper and then again by RESTEasy (which operates on Weld proxies instead of the underlying instances).
To eliminate this, we enabled the injector only for non-CDI beans (JAX-RS components outside of BDA) or
CDI components that are not JAX-RS components.
- Author:
- Jozef Hartinger
-
Constructor Summary
ConstructorDescriptionCdiPropertyInjector
(PropertyInjector delegate, Class<?> clazz, Map<Class<?>, Type> sessionBeanInterface, jakarta.enterprise.inject.spi.BeanManager manager) -
Method Summary
Modifier and TypeMethodDescriptionInject values into annotated properties (fields/setter methods) of the target object.inject
(HttpRequest request, HttpResponse response, Object target, boolean unwrapAsync) Inject values into annotated properties (fields/setter methods) of the target object.toString()
-
Constructor Details
-
CdiPropertyInjector
public CdiPropertyInjector(PropertyInjector delegate, Class<?> clazz, Map<Class<?>, Type> sessionBeanInterface, jakarta.enterprise.inject.spi.BeanManager manager)
-
-
Method Details
-
inject
Description copied from interface:PropertyInjector
Inject values into annotated properties (fields/setter methods) of the target object. This method should only be used outside the scope of an HTTP request.- Specified by:
inject
in interfacePropertyInjector
- Parameters:
target
- target objectunwrapAsync
- unwrap async- Returns:
CompletionStage
or null if async isn't needed
-
inject
public CompletionStage<Void> inject(HttpRequest request, HttpResponse response, Object target, boolean unwrapAsync) throws Failure, jakarta.ws.rs.WebApplicationException, ApplicationException Description copied from interface:PropertyInjector
Inject values into annotated properties (fields/setter methods) of the target object. This method should only be used inside the scope of an HTTP request.- Specified by:
inject
in interfacePropertyInjector
- Parameters:
request
- http requestresponse
- http responsetarget
- target objectunwrapAsync
- unwrap async- Returns:
CompletionStage
or null if async isn't needed- Throws:
Failure
- if application failure occurredjakarta.ws.rs.WebApplicationException
- if application exception occurredApplicationException
-
toString
-