我正在尝试使用以下代码初始化Jetty:
URI baseUri = UriBuilder.fromUri("http://localhost/").port(config.getPort()).build();
ResourceConfig resConfig = new ResourceConfig(GetFutureTimetableCommand.class);
Server server = JettyHttpContainerFactory.createServer(baseUri, resConfig);
WebAppContext context = new WebAppContext();
context.setDescriptor("WebContent/WEB-INF/web.xml");
context.setResourceBase("WebContent");
context.setContextPath("rest/*");
context.setParentLoaderPriority(true);
server.setHandler(context);
server.start();
我的资源如下所示:
@Path("/timetable")
public class GetFutureTimetableCommand extends CMSCommand {
@GET
@Produces(MediaType.APPLICATION_JSON)
public CMSBean execute(@PathParam("param") String params) {
System.out.println("GOOD");
return new FutureTimetable(8202L, DateTime.now().plusDays(2));
}
}
从浏览器:
http://localhost:8080/rest/timetable
但是什么都没有发生,我在做什么错?
最佳答案
我发现尝试确定资源未执行的原因时启用MBeans with monitoring statistics十分重要。
将以下内容添加到web.xml
中的Jersey Servlet定义中,并连接JVisualVM
或JConsole
以查看有关已部署资源的大量数据。
<init-param>
<param-name>jersey.config.server.monitoring.statistics.mbeans.enabled</param-name>
<param-value>true</param-value>
</init-param>
我很高兴这不能解决您的问题,但希望能帮助您找到问题。
将