2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright © 2021 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 * ============LICENSE_END=========================================================
20 package org.o.ran.oam.nf.oam.adopter.app.config;
22 import java.io.IOException;
23 import java.security.KeyManagementException;
24 import java.security.KeyStoreException;
25 import java.security.NoSuchAlgorithmException;
26 import java.security.cert.CertificateException;
27 import org.apache.hc.client5.http.impl.async.CloseableHttpAsyncClient;
28 import org.o.ran.oam.nf.oam.adopter.app.http.HttpCientFactory;
29 import org.springframework.beans.factory.annotation.Value;
30 import org.springframework.context.annotation.Bean;
31 import org.springframework.context.annotation.Configuration;
34 public class HttpAsyncClientConfig {
36 @Value("${server.ssl.trust-store:#{null}}")
37 private String trustStore;
38 @Value("${server.ssl.trust-store-password:#{null}}")
39 private String trustStorePassword;
40 @Value("${http-client.conection-timeout:600}")
41 private Long conectionTimeout;
42 @Value("${http-client.response-timeout:600}")
43 private Long responseTimeout;
45 @Bean(initMethod = "start", destroyMethod = "close")
46 public CloseableHttpAsyncClient getHttpClient()
47 throws IOException, CertificateException, NoSuchAlgorithmException, KeyStoreException,
48 KeyManagementException {
49 return HttpCientFactory.createClient(trustStore, trustStorePassword, conectionTimeout, responseTimeout);