Hi Mark,

you are right, there is room for improvement.
You could call it a bug or a feature request ...

best regards
    Stephan

-----Ursprüngliche Nachricht-----
Von: "Mark Kharitonov" <[email protected]>
Gesendet: 30.11.2011 22:33:28
An: [email protected]
Betreff: Integrating a 3rd party Dependency Injection engine with JAX-RS 
extension.

>I am using google guice and wish to integrate it with the JAX-RS extension. On 
>the surface, everything is simple and clean:
>
> final JaxRsApplication application = new 
> JaxRsApplication(component.getContext().createChildContext());
> application.setObjectFactory(new ObjectFactory() {
>
> @Override
> public <T> T getInstance(Class<T> jaxRsClass) throws InstantiateException {
> return Injector.getInstance(jaxRsClass);
> }
> });
>
>True, when JAX-RS wishes to create an instance of a resource handler it 
>consults the object factory first, which is excellent. But, there are certain 
>validations that JAX-RS performs on the resource handler type and these 
>validations totally ignore the presence of an object factory. Observer the 
>following stack trace:
>
>WrapperUtil.findJaxRsConstructor(Class<?>, String) line: 242
>PerRequestRootResourceClass(RootResourceClass).<init>(Class<?>, 
>ThreadLocalizedContext, JaxRsProviders, ExtensionBackwardMapping, Logger) 
>line: 141
>PerRequestRootResourceClass.<init>(Class<?>, ThreadLocalizedContext, 
>JaxRsProviders, ExtensionBackwardMapping, Logger) line: 82
>ResourceClasses.getPerRequestRootClassWrapper(Class<?>) line: 276
>ResourceClasses.addRootClass(Class<?>) line: 104
>JaxRsRestlet.addClass(Class<?>) line: 283
>JaxRsApplication.add(Application) line: 149
>Program.main(String[]) line: 60
>
>What happens is that JAX-RS looks for the public constructors satisfying its 
>instance creation constraints. In my case, the resource handler class has a 
>single public non default constructor not annotated with any of the JAX-RS 
>attributes. Indeed, this constructor is invoked by the dependency injection 
>engine only (guice in my case) from the object factory.
>
>I think, that JAX-RS should not fail if it does not find any suitable 
>constructor and the object factory is registered. Seems like a bug?
___________________________________________________________
SMS schreiben mit WEB.DE FreeMail - einfach, schnell und
kostenguenstig. Jetzt gleich testen! http://f.web.de/?mc=021192

------------------------------------------------------
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2889682

Reply via email to