2013-11-15 148 views
0

我使用JBoss RestEasy的嵌入式TJWS創建嵌入式服務器。有限的資料不準確,但我可以用一個測試JAX-RS資源創建一個服務器實例:RestEasy TJWS基本路徑

@Path("test") 
public class TestResource { 
    public static void main(String[] args) throws Exception { 
    TJWSEmbeddedJaxrsServer tjws = new TJWSEmbeddedJaxrsServer(); 
    tjws.setPort(8080); 
    tjws.start(); 
    tjws.getDeployment().getRegistry().addPerRequestResource(TestResource.class); 
    } 
    ... 

,讓我瀏覽到http://localhost:8080/test測試GET方法的實現(這裏沒有顯示)。

但是,如何指定嵌入式服務器應該安裝在其他基本路徑?例如,我如何將測試資源安裝到http://localhost:8080/example/test?當然,我可以將其硬編碼到@Path的名稱中,但基本路徑不應該是資源的一部分---我應該能夠在任何基本路徑的J2EE服務器中重新部署此資源類。

我猜這有點像我還沒找到的tjws.getDeployment().setBasePath("example")。 (如果有人有一些這方面的深入文檔,請讓我知道!)在此先感謝。

回答

0

到目前爲止,我發現,我可以通過指定將資源添加到服務器時的前綴模擬這個:

tjws.getDeployment().getRegistry().addPerRequestResource(TestResource.class, "example"); 

這不是因爲我一直在尋找的完全一樣,但它確實讓我訪問資源爲http://localhost:8080/example/test而不必強制在資源定義中指明此基本路徑。