2017-06-01 14 views
0

私はcxfクライアントを開発中です。私はwsdlからスタブを生成し、そこからコードを開発します。私のコードは、今でプロパティを設定する方法maxConnectionをcxfのサイレントコード

URL WSDL_LOCATION = new URL(targetURL); 
CustomerWS_Service CustomerWSService = new CustomerWS_Service (WSDL_LOCATION); 
CustomerWS customerWS = CustomerWSService.getCustomerWSPort(); 

のようなものですが、私は接続にいくつかのプロパティを設定する:

max_total_connection: maximum number of connections allowed 
max_connection_per_host: maximum number of connections allowed for a given host config 

いくつかの研究は、HttpURLConnectionの中でこれらのプロパティを設定するために教えてください。しかし、私はそれを行う方法を知っていないか、コードからHttpUrlConnection objを持つ方法を少なくともatleast。

答えて

1

バスレベルで設定する必要があります。バスプロパティは以下のように設定できます。あなたは非同期を使用していないので、このプロパティを入れる必要はありません。 クライアントを作成することをお勧めします。JaxWsClientFactoryBean SpringBus bus = new SpringBus(); bus.setProperty(AsyncHTTPConduit.USE_ASYNC, Boolean.TRUE); bus.setProperty("org.apache.cxf.transport.http.async.SO_KEEPALIVE",Boolean.TRUE); bus.setProperty("org.apache.cxf.transport.http.async.SO_TIMEOUT",Boolean.FALSE); bus.setProperty("org.apache.cxf.transport.http.async.MAX_CONNECTIONS","totalConnections")); bus.setProperty("org.apache.cxf.transport.http.async.MAX_PER_HOST_CONNECTIONS","connectionsPerHost"));

+0

ありがとうございました。しかし、私は非同期を使用しないでください。あなたのサンプルはasync専用です。それは同期の呼び出しで動作しますか? – David

+0

はい同期にも機能しますが、falseに設定しないでください。 –

+0

もう一度ありがとうございます。あなたは「ただそれを偽にしないでください」と言います。あなたはbus.setProperty(AsyncHTTPConduit.USE_ASYNC、Boolean.TRUE)を意味しますか? – David

関連する問題