Thanks Colin,

Good call - I was using the interceptor for another method and it was
private which caused some problems detailed in the limitations section:
http://code.google.com/p/google-guice/wiki/AOP

Will

On Wed, Mar 24, 2010 at 7:48 PM, Colin Decker <[email protected]> wrote:

> Are you using guice-servlet to bind MyServlet or web.xml? To be
> intercepted, objects have to be created by Guice... servlets are created by
> the servlet container unless you use guice-servlet (which is nicer looking
> and more typesafe than web.xml anyway). See
> http://code.google.com/p/google-guice/wiki/Servlets
>
> Colin
>
> On Wed, Mar 24, 2010 at 10:21 PM, William Chu <[email protected]> wrote:
>
>> Hi,
>>
>> I have the an interceptor that doesn't get invoked and I'm unable to
>> figure out why. I was wondering if you had any insight. I have an annotation
>> called LoggedIn that triggers the Interceptor.
>>
>>  I have setup the interceptor as follows:
>>
>> public class WebModule extends ServletModule {
>>
>>     @Override
>>     protected void configureServlets() {
>>
>>         LoggedInInterceptor loggedInInterceptor = new
>> LoggedInInterceptor();
>>         bindInterceptor(Matchers.any(),
>> Matchers.annotatedWith(LoggedIn.class), loggedInInterceptor);
>>         requestInjection(loggedInInterceptor);
>> ....
>>
>>  }
>> }
>>
>>
>> public class MyGuiceServletConfig extends GuiceServletContextListener {
>>
>>     @Override
>>     protected Injector getInjector() {
>>
>>         Injector injector = Guice.createInjector(Stage.PRODUCTION, new
>> WebModule(), new LoggingModule());
>>         GrabBag.put(GrabBag.GUICE_INJECTOR, injector);
>>         return injector;
>>
>>     }
>>
>>     @Override
>>     public void contextDestroyed(ServletContextEvent servletContextEvent)
>> {
>>         super.contextDestroyed(servletContextEvent);
>>     }
>> }
>>
>>
>>
>> @Retention(RetentionPolicy.RUNTIME)
>> @Target(ElementType.METHOD)
>> public @interface LoggedIn {
>>
>> }
>>
>>
>> public class LoggedInInterceptor implements MethodInterceptor {
>>
>>     @Override
>>     public Object invoke(MethodInvocation invocation) throws Throwable {
>>         System.out.println("LoggedInInterceptor.invoke called");
>>        ....
>>     }
>> }
>>
>>
>>
>> MyServlet extends HttpServlet  {
>>
>>     @LoggedIn
>>     private void doPost(HttpServletRequest request, HttpServletResponse
>> response) throws ServletException, IOException {
>>         System.out.println("doPost called");
>> .....
>>     }
>> }
>>
>>
>>  --
>> 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]<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 at 
http://groups.google.com/group/google-guice?hl=en.

Reply via email to