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