users@grizzly.java.net

Integration Grizzly2.2.X with Jersey and Spring

From: <nennenpow_at_gmail.com>
Date: Mon, 14 Jan 2013 12:48:01 +0000 (GMT)

Hi,

I have successfully integrated Grizzly2.1.9 with Jersey and Spring. But
could not make it work when trying to migrate Grizzly to version
2.2.19.

The original code with Grizzly2.1.9 is as below.

HttpServer server = new HttpServer();
NetworkListener listener = new NetworkListener("grizzly2", "localhost",
3388);
server.addListener(listener);

ServletHandler sa = new ServletHandler();
sa.setContextPath("/");
sa.setServletInstance(new SpringServlet());
sa.addContextParameter("contextConfigLocation",
"classpath:spring-context.xml");
sa.addServletListener("org.springframework.web.context.ContextLoaderLis
tener");
sa.addServletListener("org.springframework.web.context.request.RequestC
ontextListener");

ServerConfiguration config = server.getServerConfiguration();
config.addHttpHandler(sa, new String[] {"/"});
server.start();

And the new code with Grizzly2.2.19 is as below

HttpServer server = new HttpServer();
NetworkListener listener = new NetworkListener("grizzly2", "localhost",
3388);
WebappContext ctx = new WebappContext("ctx","/");
final ServletRegistration reg = ctx.addServlet("spring", new
SpringServlet());
reg.addMapping("/");
ctx.addContextInitParameter("contextConfigLocation",
"classpath:spring-context.xml");
ctx.addListener("org.springframework.web.context.ContextLoaderListener"
);
ctx.addListener("org.springframework.web.context.request.RequestContext
Listener");
ctx.deploy(server);
server.start();

The new code could be compiled and executed with no exception. However
all urls which should be forwarded to different methods by Jersey are
now all forwarded to the default page "/".

I want to know what I miss with the new code.

Thanks so much!