Jersey客户端筛选器排序

Jersey客户端筛选器排序,jersey,Jersey,阅读的文档使我认为ClientFilters是按照添加顺序处理的。然而,我看到了相反的情况。以下是我正在测试的代码,与文档中显示的代码类似: ClientFilter filter1 = new ClientFilter() { @Override public ClientResponse handle(ClientRequest cr) throws ClientHandlerException { System.out.println("Modify Req

阅读的文档使我认为ClientFilters是按照添加顺序处理的。然而,我看到了相反的情况。以下是我正在测试的代码,与文档中显示的代码类似:

ClientFilter filter1 = new ClientFilter() {
    @Override
    public ClientResponse handle(ClientRequest cr) throws ClientHandlerException {
        System.out.println("Modify Request 1");
        ClientResponse response = getNext().handle(cr);
        System.out.println("Modify Response 1");
        return response;
    }
};
ClientFilter filter2 = new ClientFilter() {
    @Override
    public ClientResponse handle(ClientRequest cr) throws ClientHandlerException {
        System.out.println("Modify Request 2");
        ClientResponse response = getNext().handle(cr);
        System.out.println("Modify Response 2");
        return response;
    }
};
Client c = Client.create();
c.addFilter(filter1);
c.addFilter(filter2);

ClientFilter filter3 = new ClientFilter() {
    @Override
    public ClientResponse handle(ClientRequest cr) throws ClientHandlerException {
        System.out.println("Modify Request 3");
        ClientResponse response = getNext().handle(cr);
        System.out.println("Modify Response 3");
        return response;
    }
};
WebResource r = c.resource("http://www.stackoverflow.com");
r.addFilter(filter3);

System.out.println(r.get(ClientResponse.class).getStatus());
我希望看到修改请求123,修改响应321,但我看到的是修改请求321修改响应123


我只是在向后解释文档吗?

您发现了一个bug!我还没有决定具体在哪里-但我们不希望由于向后实现而很可能更改实现,因此我们可能只更新用户指南以反映客户端过滤器的实际工作方式链接到用户指南以供参考-

你能在Jersey issue tracker上提交新的问题吗


谢谢

你发现了一个bug!我还没有决定具体在哪里-但我们不希望由于向后实现而很可能更改实现,因此我们可能只更新用户指南以反映客户端过滤器的实际工作方式链接到用户指南以供参考-

你能在Jersey issue tracker上提交新的问题吗

谢谢