2014-01-05 89 views
0

我想用下面的代碼來初始化碼頭:初始化碼頭+新澤西

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 

但是什麼也沒有發生,我做錯了什麼?

+0

當你說「什麼都沒有發生」時,你是什麼意思? –

+0

我在資源的'execute'方法內部放置了一個斷點,它永遠不會停在那裏。 – Shvalb

+0

不幸的是,調試器可能有錯誤。在瀏覽器中,發生了什麼? –

回答

2

我發現在試圖確定資源未執行的原因時啓用MBeans with monitoring statistics是非常寶貴的。

將下面的內容添加到您的web.xml中的Jersey Servlet定義中,並連接JVisualVMJConsole以查看有關已部署資源的大量數據。

<init-param> 
    <param-name>jersey.config.server.monitoring.statistics.mbeans.enabled</param-name> 
    <param-value>true</param-value> 
</init-param> 

我明白這不是您的問題的答案,但希望能幫助您找到它。

請問