1

統合テストの目的でRESTクライアントをインスタンス化するためにJAXRSClientFactoryを使用しています。

2つのテストの間に、Jettyサーバーを再起動し、新しいRESTクライアントを同じURLにインスタンス化します。ただし、サーバーの再起動後の最初のテストで接続エラーが発生するため、CXFは何らかの接続プールまたは内部の接続維持システムを使用しているようです。

ドキュメントで接続プールの使用について述べているものは何も見つかりませんでした:それは事実ですか?もしそうなら、どうすればそれを防ぐことができますか、またはテストの最後に特定のクライアントの接続をフラッシュしますか?

4

1 に答える 1

3

くそー、

私は最終的にそれを行う方法を見つけました。

コードは次のとおりです。

import org.apache.cxf.jaxrs.client.ClientConfiguration;
import org.apache.cxf.jaxrs.client.JAXRSClientFactory;
import org.apache.cxf.jaxrs.client.WebClient;
import org.apache.cxf.transport.http.HTTPConduit;
import static org.apache.cxf.transports.http.configuration.ConnectionType.CLOSE;

...

MyService proxy = JAXRSClientFactory.create("url", MyService.class);

// Disable keep-alive connection
ClientConfiguration config = WebClient.getConfig(proxy);
HTTPConduit conduit = config.getHttpConduit();
conduit.getClient().setConnection(CLOSE);
于 2013-02-11T14:51:46.363 に答える