That worked very well and walking through that helped me understand a
lot more too. Thank you again for the tip!

On May 11, 3:57 pm, Christian <[email protected]> wrote:
> Hi Mateo,
>
> Your GWT rpc servlet is not guice managed, so this is still Tomcat trying
> instantiating it
> insteasd of Guice.
> You want to do this 
> :http://stuffthathappens.com/blog/2009/09/14/guice-with-gwt/
>
> 2010/5/11 Mateo <[email protected]>
>
>
>
> > I'm somewhat familiar with Spring, trying to learn Guice, and I'm
> > pretty sure I'm missing something simple. Nonetheless my reading and
> > searching has yet to produce any insights, so I'll reveal my
> > foolishness here.
>
> > My problem appears to be that Guice is not instantiating the
> > GreetingServiceImpl class. (I'm using the auto-created GWT
> > GreetingService application as a learning point.)
>
> > The specific error I am getting comes when I click "Send" (sending my
> > name to the server). Tomcat prints the following:
>
> > Stack Trace:
> >     [java] INFO: Marking servlet greetServlet as unavailable
> >     [java] May 11, 2010 11:20:33 AM
> > org.apache.catalina.core.StandardWrapperValve invoke
> >     [java] SEVERE: Allocate exception for servlet greetServlet
> >     [java] java.lang.InstantiationException:
> > com.~~~.server.GreetingServiceImpl
> >     [java]     at java.lang.Class.newInstance0(Class.java:340)
> >     [java]     at java.lang.Class.newInstance(Class.java:308)
> >     [java]     at
> > org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:
> > 1104)
> >     ...
>
> > So, here's what I have. (I've provided a lot - sorry it's a bit long.
> > At the same time, let me know if I need to provide something more.)
>
> > I've included the following jars from Guice2.0.zip:
> >  * aopalliance.jar
> >  * guice-2.0.jar
> >  * guice-servlet-2.0.jar
> > ==================
>
> > My GreetingServiceImpl class is as follows:
>
> > ... package and imports ...
> > @SuppressWarnings("serial")
> > public class GreetingServiceImpl extends RemoteServiceServlet
> > implements GreetingService
> > {
> >    private final SecurityHandlerService securityHandlerService;
> >    private final AuthenticationHandlerService
> > authenticationHandlerService;
>
> >   �...@inject
> >    GreetingServiceImpl(SecurityHandlerService securityHandlerService,
> >                        AuthenticationHandlerService
> > authenticationHandlerService)
> >    {
> >        this.securityHandlerService = securityHandlerService;
> >        this.authenticationHandlerService =
> > authenticationHandlerService;
> >    }
>
> >    public String greetServer(String input) throws
> > IllegalArgumentException
> >    {
> >           ... uses both securityHandlerService and
> > authenticationHandlerService ...
> >    }
> > }
> > =========================
>
> > My GuiceServletContextListener impl:
>
> > ... package and imports ...
> > public class SkyclientGuiceServletConfig extends
> > GuiceServletContextListener
> > {
> >   �...@override
> >    protected Injector getInjector()
> >    {
> >        return Guice.createInjector(new ServletModule());
> >    }
> > }
> > ==================
>
> > My Abstract Module:
>
> > ... package and imports ...
> > public class SkyclientBusModule extends AbstractModule
> > {
> >   �...@override
> >    public void configure()
> >    {
> >        System.out.println("\t * Configuring SkyclientBusModule!");
>
> > bind(SecurityHandlerService.class).to(SecurityHandlerServiceImpl.class);
>
> > bind(AuthenticationHandlerService.class).to(AuthenticationHandlerServiceImpl.class);
> >    }
>
> > }
> > =============
>
> > My web.xml is as follows:
>
> > ... xml and doctype ...
> > <web-app>
> >    <!-- Guice Stuff -->
> >    <filter>
> >        <filter-name>guiceFilter</filter-name>
> >        <filter-class>com.google.inject.servlet.GuiceFilter</filter-
> > class>
> >    </filter>
> >    <filter-mapping>
> >        <filter-name>guiceFilter</filter-name>
> >        <url-pattern>/*</url-pattern>
> >    </filter-mapping>
> >    <listener>
> >        <listener-class>com.~~~.server.SkyclientGuiceServletConfig</
> > listener-class>
> >    </listener>
>
> >  <!-- Servlets -->
> >  <servlet>
> >    <servlet-name>greetServlet</servlet-name>
> >    <servlet-class>com.~~~.server.GreetingServiceImpl</servlet-class>
> >  </servlet>
> >  <servlet-mapping>
> >    <servlet-name>greetServlet</servlet-name>
> >    <url-pattern>/skyclient/greet</url-pattern>
> >  </servlet-mapping>
>
> >  <!-- Default page to serve -->
> >  <welcome-file-list>
> >    <welcome-file>SkyClient.html</welcome-file>
> >  </welcome-file-list>
>
> > </web-app>
> > ===========================
>
> > Again - sorry it's so long. Is there something obvious I'm missing?
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "google-guice" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> > [email protected]<google-guice%[email protected]>
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/google-guice?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups 
> "google-guice" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group 
> athttp://groups.google.com/group/google-guice?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"google-guice" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-guice?hl=en.

Reply via email to