0
タイムアウトを自分のコードに追加する必要がありますが、これは自分のコードですが、このコードを変更してタイムアウトを追加する方法はありません。RestTemplateでタイムアウトを追加する方法
`
@EBean(scope = EBean.Scope.Singleton)
public class KioraRestClient {
public static final String SERVER_HOST = KioraBuildConfig.REST_SERVER_API_URL;
public static final String VERSION_SERVER_HOST = KioraBuildConfig.REST_VERSION_SERVER_API_URL;
@AfterInject
void Initialize() {
try {
turnOffSslChecking();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (KeyManagementException e) {
e.printStackTrace();
}
// this factory needs to be crated here since requires some injected dependencies
ClientHttpRequestFactory keyPairRequestFactory = new KioraHttpRequestFactory(
new ContentAuthUriDecorator(authPreferences)
);
ClientHttpRequestFactory timeoutFactory = new SimpleTimeoutRequestFactory();
//TODO: Extract common interface for the controllers
LicenseController.getRestTemplate().setRequestFactory(keyPairRequestFactory);
UserController.getRestTemplate().setRequestFactory(keyPairRequestFactory);
ContentController.getRestTemplate().setRequestFactory(keyPairRequestFactory);
VersionController.getRestTemplate().setRequestFactory(timeoutFactory);
RootIPController.getRestTemplate().setRequestFactory(keyPairRequestFactory);
PurchaseController.getRestTemplate().setRequestFactory(keyPairRequestFactory);
HotspotController.getRestTemplate().setRequestFactory(keyPairRequestFactory);
`
`
HttpComponentsClientHttpRequestFactory httpRequestFactory = new HttpComponentsClientHttpRequestFactory();
httpRequestFactory.setConnectTimeout(20 * 1000);
PurchaseController.getRestTemplate().setRequestFactory(httpRequestFactory);
HotspotController.getRestTemplate().setRequestFactory(httpRequestFactory);
`
効果を取って見ることができます。ところで、私は古いHTTPコンポーネントの代わりにokhttpを使うことをお勧めします。 – WonderCsabo
タイムアウトの設定で何を達成したいですか? http://stackoverflow.com/questions/3069382/what-is-the-difference-between-connection-and-read-timeout-for-sockets –
私は応答を待ってから、残りのことをする必要があります – elsa