我正在使用JBoss RestEasy的嵌入式TJWS创建一个嵌入式服务器。有限的文档是不准确的,但我能够使用测试JAX-RS资源创建服务器实例:
@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服务器中重新部署此资源类。 / p>
我猜我还没有找到类似tjws.getDeployment().setBasePath("example")
的东西。 (如果有人对此有一些深入的文档,请告诉我!)提前致谢。
答案 0 :(得分:0)
到目前为止,我发现我可以通过在向服务器添加资源时指定前缀来模拟这一点:
tjws.getDeployment().getRegistry().addPerRequestResource(TestResource.class, "example");
这与我正在寻找的不完全相同,但它允许我以http://localhost:8080/example/test
访问资源,而不必强制在资源定义中指示此基本路径。