[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [jersey-dev] Cannot @Inject into ExceptionMapper
|
Hi,
This mailing list's primary purpose is not for solving bugs, rather it
should be used for a discussion and announcements.
Feel free to file us an issue on our bug tracker
https://github.com/eclipse-ee4j/jersey/issues and provide a reproducer,
best in a form of JerseyTest or a standalone github project.
I tried to reproduce the issue, but no success. What comes on my mind
right now is that you try to inject out of the Request scope, or I have
seen a similar issue when multiple classloaders were involved.
Thanks,
Jan
On 04.04.2020 13:09, Martynas Jusevičius wrote:
TemplateCallProvider is a Factory:
@Provider
public class TemplateCallProvider implements Factory<TemplateCall>
On Sat, Apr 4, 2020 at 1:05 PM Martynas Jusevičius
<martynas@xxxxxxxxxxxxx> wrote:
Hi,
I'm attempting to inject some RequestScoped objects into an ExceptionMapper:
public class NotFoundExceptionMapper extends ExceptionMapperBase
implements ExceptionMapper<NotFoundException>
{
@Inject TemplateCall templateCall;
...
In my ResourceConfig I have
register(new AbstractBinder()
{
@Override
protected void configure()
{
bindFactory(TemplateCallProvider.class).to(TemplateCall.class).
proxy(true).proxyForSameScope(false).in(RequestScoped.class);
}
});
...
register(new NotFoundExceptionMapper());
// register(NotFoundExceptionMapper.class); // also tried this, same effect
However I get an error when NotFoundException should be mapped:
04-Apr-2020 10:57:22.213 SEVERE [main]
org.apache.catalina.core.ApplicationContext.log Servlet.init() for
servlet [com.atomgraph.server.Application] threw exception
MultiException stack 1 of 2
java.lang.RuntimeException: java.lang.InstantiationException:
com.atomgraph.processor.util.TemplateCall_$$_jvstb48_0
at
org.jvnet.hk2.internal.ProxyUtilities$4.run(ProxyUtilities.java:157)
at java.security.AccessController.doPrivileged(Native Method)
at
org.jvnet.hk2.internal.ProxyUtilities.secureCreate(ProxyUtilities.java:128)
at
org.jvnet.hk2.internal.ProxyUtilities.generateProxy(ProxyUtilities.java:194)
at
org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2074)
at
org.jvnet.hk2.internal.ServiceLocatorImpl.getService(ServiceLocatorImpl.java:666)
at
org.jvnet.hk2.internal.ThreeThirtyResolver.resolve(ThreeThirtyResolver.java:54)
at
org.jvnet.hk2.internal.Utilities.justInject(Utilities.java:988)
at
org.jvnet.hk2.internal.ServiceLocatorImpl.inject(ServiceLocatorImpl.java:998)
at
org.jvnet.hk2.internal.ServiceLocatorImpl.inject(ServiceLocatorImpl.java:976)
at
org.glassfish.jersey.inject.hk2.AbstractHk2InjectionManager.inject(AbstractHk2InjectionManager.java:202)
at
org.glassfish.jersey.inject.hk2.ImmediateHk2InjectionManager.inject(ImmediateHk2InjectionManager.java:30)
...
MultiException stack 2 of 2
java.lang.IllegalArgumentException: While attempting to create
a Proxy for com.atomgraph.processor.util.TemplateCall in scope
org.glassfish.jersey.process.internal.RequestScoped an error occured
while creating the proxy
at
org.jvnet.hk2.internal.ProxyUtilities.generateProxy(ProxyUtilities.java:201)
at
org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2074)
at
org.jvnet.hk2.internal.ServiceLocatorImpl.getService(ServiceLocatorImpl.java:666)
at
org.jvnet.hk2.internal.ThreeThirtyResolver.resolve(ThreeThirtyResolver.java:54)
at
org.jvnet.hk2.internal.Utilities.justInject(Utilities.java:988)
at
org.jvnet.hk2.internal.ServiceLocatorImpl.inject(ServiceLocatorImpl.java:998)
at
org.jvnet.hk2.internal.ServiceLocatorImpl.inject(ServiceLocatorImpl.java:976)
at
org.glassfish.jersey.inject.hk2.AbstractHk2InjectionManager.inject(AbstractHk2InjectionManager.java:202)
at
org.glassfish.jersey.inject.hk2.ImmediateHk2InjectionManager.inject(ImmediateHk2InjectionManager.java:30)
...
Looking at similar problems online, my guess is that it has to do with
a RequestScoped object being injected into Singleton. However I
haven't been able to find a solution yet.
Thanks.
Martynas
_______________________________________________
jersey-dev mailing list
jersey-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/jersey-dev