@@ -69,7 +69,11 @@ public static ApiClientPool getInstance() {
6969 * @return cached or new ApiClient for AAS operations
7070 */
7171 public ApiClient getOrCreateAasRepoApiClient (String baseUri , ObjectMapper mapper ) {
72- return aasRepoApiClients .computeIfAbsent (baseUri , uri -> {
72+ return aasRepoApiClients .compute (baseUri , (uri , existingApiClient ) -> {
73+ if (existingApiClient != null ) {
74+ existingApiClient .setObjectMapper (mapper );
75+ return existingApiClient ;
76+ }
7377 return new ApiClient (HttpClient .newBuilder (), mapper , uri );
7478 });
7579 }
@@ -82,7 +86,11 @@ public ApiClient getOrCreateAasRepoApiClient(String baseUri, ObjectMapper mapper
8286 * @return cached or new ApiClient for Submodel operations
8387 */
8488 public ApiClient getOrCreateAasServiceApiClient (String serviceUrl , ObjectMapper mapper ) {
85- return aasServiceApiClients .computeIfAbsent (serviceUrl , uri -> {
89+ return aasServiceApiClients .compute (serviceUrl , (uri , existingApiClient ) -> {
90+ if (existingApiClient != null ) {
91+ existingApiClient .setObjectMapper (mapper );
92+ return existingApiClient ;
93+ }
8694 return new ApiClient (HttpClient .newBuilder (), mapper , uri );
8795 });
8896 }
@@ -95,7 +103,11 @@ public ApiClient getOrCreateAasServiceApiClient(String serviceUrl, ObjectMapper
95103 * @return cached or new ApiClient for Submodel operations
96104 */
97105 public ApiClient getOrCreateSubmodelRepoApiClient (String baseUri , ObjectMapper mapper ) {
98- return submodelRepoApiClients .computeIfAbsent (baseUri , uri -> {
106+ return submodelRepoApiClients .compute (baseUri , (uri , existingApiClient ) -> {
107+ if (existingApiClient != null ) {
108+ existingApiClient .setObjectMapper (mapper );
109+ return existingApiClient ;
110+ }
99111 return new ApiClient (HttpClient .newBuilder (), mapper , uri );
100112 });
101113 }
@@ -108,7 +120,11 @@ public ApiClient getOrCreateSubmodelRepoApiClient(String baseUri, ObjectMapper m
108120 * @return cached or new ApiClient for Submodel operations
109121 */
110122 public ApiClient getOrCreateSubmodelServiceApiClient (String serviceUrl , ObjectMapper mapper ) {
111- return submodelServiceApiClients .computeIfAbsent (serviceUrl , uri -> {
123+ return submodelServiceApiClients .compute (serviceUrl , (uri , existingApiClient ) -> {
124+ if (existingApiClient != null ) {
125+ existingApiClient .setObjectMapper (mapper );
126+ return existingApiClient ;
127+ }
112128 return new ApiClient (HttpClient .newBuilder (), mapper , uri );
113129 });
114130 }
0 commit comments