users@jersey.java.net

Re: [Jersey] Injected into hell

From: Martin Probst <mail_at_martin-probst.com>
Date: Sat, 9 Aug 2008 16:34:48 +0200

Hi Paul,

> Try this:
>
> private class SessionProvider
> implements InjectableProvider<Context, Type> {
>
> public Injectable<Session> getInjectable(ComponentContext ic,
> Context a, Type c) {
> if (Session.class == c) {
> return new Injectable<Session>() {
>
> public Session getValue(HttpContext context) {
> return persistence.getSession();
> }
> };
> } else
> return null;
> }
>
> public Scope getScope() {
> return Scope.PerRequest;
> }
> }

That doesn't help either:

java.lang.ClassCastException: java.lang.Class
        at
com
.sun
.jersey
.impl.model.ReflectionHelper.resolveTypeVariable(ReflectionHelper.java:
184)
        at
com
.sun
.jersey
.impl.model.ReflectionHelper.resolveTypeVariable(ReflectionHelper.java:
179)
        at
com
.sun
.jersey
.impl
.application
.InjectableProviderFactory
.getResolvedType(InjectableProviderFactory.java:157)
        at
com
.sun
.jersey
.impl
.application
.InjectableProviderFactory
.getMetaArguments(InjectableProviderFactory.java:137)
        at
com
.sun
.jersey
.impl
.application
.InjectableProviderFactory.add(InjectableProviderFactory.java:99)
        at
com
.sun
.jersey
.impl
.application
.InjectableProviderFactory.configure(InjectableProviderFactory.java:114)
        at
com
.sun
.jersey
.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:
571)
        at
com
.sun
.jersey
.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:
478)
        at
com
.sun
.jersey
.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:
559)
        at de.hpi_web.wsminer.Servlet
$HibernatingServletContainer.initiate(Servlet.java:69)
        at
com
.sun
.jersey
.spi.container.servlet.ServletContainer.load(ServletContainer.java:483)
        at
com
.sun
.jersey
.spi.container.servlet.ServletContainer.init(ServletContainer.java:165)
        at de.hpi_web.wsminer.Servlet.init(Servlet.java:94)
        at
org
.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:
1172)
        at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:
992)
        at
org
.apache
.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4058)
        at
org.apache.catalina.core.StandardContext.start(StandardContext.java:
4371)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:
1045)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:
1045)
        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:
443)
        at
org.apache.catalina.core.StandardService.start(StandardService.java:516)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:
710)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun
.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39)
        at
sun
.reflect
.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

Any ideas?

Regards,
Martin