Working my way through, "Java Web Services" up and running.

On Page 69 i stumble over a @Context Annotation

[...]
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;

import com.fasterxml.jackson.databind.ObjectMapper;

@Path("/predict")
public class PredictionsRS {
        @Context
        private ServletContext sctx; // dependency injection
        private static PredictionsList plist; // set in populate()
[...]

the ServletContext sctx doesnt get initialized, on request the Server logs:

        ... 37 more
Caused by: javax.naming.NameNotFoundException: Name 
[comp/env/de.martinfunk.predictions3.PredictionsRS/sctx] is not bound in this 
Context. Unable to find [comp].
        at org.apache.naming.NamingContext.lookup(NamingContext.java:820)
        at org.apache.naming.NamingContext.lookup(NamingContext.java:168)


I'm most likely missing something, just not sure what.
Is there some configuration needed for TomEE to pick up the annotated field 
'sctx' and inject a ServletContext into it?

mf

Reply via email to