如何在Jersey的运行时动态添加/删除资源端点?

时间:2018-10-02 01:17:57

标签: java jaxb jersey jax-rs dropwizard

我正在使用dropwizards 1.3.5,我想创建一个网关Api。

我希望api网关在它后面的所有api前面。每个api都会订阅gateway-api,然后gateway-api会创建相应的端点来联系指定的api。

是否可以在运行时添加资源?

我想做这样的事情:

主要

@Override
public void run(final Configuration configuration, final Environment environment) {

    environment.jersey().register(new SubscriberResource(environment));

}

SubscriberResource

@Path("/subscriber")
public class SubscriberResource {
public SubscriberResource(Environment environment) {
    this.environment = environment;
}
@POST
@Timed
public Response add() {
    environment.jersey().register(new newResource());
    return Response.status(Status.OK).build();
    }
}

我知道初始化后无法修改环境。有没有办法重新加载应用程序或以其他任何方式执行此操作? 谢谢!

0 个答案:

没有答案