0

我正在使用 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 服务器中的任何基本路径上重新部署这个资源类。

我猜有类似的东西tjws.getDeployment().setBasePath("example")我还没有找到。(如果有人对此有一些深入的文档,请告诉我!)提前致谢。

4

1 回答 1

0

到目前为止,我发现可以通过在向服务器添加资源时指定前缀来模拟这一点:

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

这与我正在寻找的不太一样,但它确实允许我访问资源,http://localhost:8080/example/test而不必被迫在资源定义中指示此基本路径。

于 2013-11-15T18:35:59.893 回答