Are you sure you enabled class scanning in your applicationContext.xml file?  Is your root resource class in the package named as an attribute in the component-scan element in your applicationContext.xml ?
Moises
On Sep 28, 2011, at 8:47 PM, Farrukh Najmi wrote:
> 
> I have a top level resource class MyResource in my jersey server that is correctly being invoked by a jersey client from my junit test.
> 
> The junit test starts MyResource in a org.glassfish.grizzly.http.server.HttpServer, using a com.sun.jersey.spi.container.servlet.ServletContainer and a org.glassfish.grizzly.servlet.ServletHandler to set the servlet context, context-params and init-params.
> 
> I then added spring integration to my server using the following blog as a guide:
> 
> http://blogs.oracle.com/enterprisetechtips/entry/jersey_and_spring
> 
> Since I do not have an actual servlet but instead have org.glassfish.grizzly.servlet.ServletHandler I adapted my ServletHandler as follows:
> 
>     public void startServer() {
> 
>         // add Jersey resource servlet
> 
>         ServletHandler jerseyAdapter = new ServletHandler();
> 
>         //Context params
>         jerseyAdapter.addContextParameter("contextConfigLocation", contextLocations);
> 
>         //Init params
>         jerseyAdapter.addInitParameter("com.sun.jersey.config.property.packages",
>                 packagesToScan);
> 
>         jerseyAdapter.setContextPath(myContext);
>         jerseyAdapter.setServletInstance(new ServletContainer());
> 
>         //Servlet listeners
>         jerseyAdapter.addServletListener("org.springframework.web.context.ContextLoaderListener");
>         jerseyAdapter.addServletListener("org.springframework.web.context.request.RequestContextListener");
> 
>         try {
> 
>             webServer = GrizzlyServerFactory.createHttpServer(
>                     getBaseURI(),
>                     jerseyAdapter,
>                     false
>             );
> 
>             webServer.start();
>         } catch (Exception ex) {
>             System.err.println(ex.getMessage());
>         }
>     }
> 
> So far all is well and I can see that my spring ApplicationContext is created and the beans defined within are instantiated (good).
> 
> Next, I added a field to MyResource where
> Class is annotated by @Component and @Scope
> Field foo is annotated with @Autowired
> 
> @Path("/rest/events")
> @Component
> @Scope("request")
> public class MyResource {
>     @Autowired
>     private Foo foo;    
> 
>     @Path("all")
>     @GET
>     public Response allEventsGet() {                
>        ... field foo is null here and autowiring does not seem to be working (not good) ....
>     }
> 
>     public void setFoo(Foo foo) {
>         this.foo = foo;
>     }
> }
> 
> Can any one tell me what I am doing wrong that is causing the field foo to not be auto-wired in MyResource? Looking at the TRACE messages from spring I can see that the singleton Foo instance was indeed created. However it never gets injected into the @Autorwired field foo in MyResource.
> 
> Thanks for your help.
> -- 
> Regards,
> Farrukh Najmi
> 
> Web: http://www.wellfleetsoftware.com
>