diff --git a/cloudplatform/connectivity-destination-service/src/main/java/com/sap/cloud/sdk/cloudplatform/connectivity/DestinationService.java b/cloudplatform/connectivity-destination-service/src/main/java/com/sap/cloud/sdk/cloudplatform/connectivity/DestinationService.java index 2d91b987c..72f6b208c 100644 --- a/cloudplatform/connectivity-destination-service/src/main/java/com/sap/cloud/sdk/cloudplatform/connectivity/DestinationService.java +++ b/cloudplatform/connectivity-destination-service/src/main/java/com/sap/cloud/sdk/cloudplatform/connectivity/DestinationService.java @@ -120,7 +120,7 @@ static ResilienceConfiguration createResilienceConfiguration( Try tryGetDestination( @Nonnull final String destinationName, @Nonnull final DestinationOptions options ) { - if( Cache.preLookupCheckEnabled && !preLookupCheckSuccessful(destinationName) ) { + if( Cache.preLookupCheckEnabled && !preLookupCheckSuccessful(destinationName, options) ) { final String msg = "Destination %s was not found among the destinations of the current tenant."; return Try.failure(new DestinationNotFoundException(String.format(msg, destinationName))); } @@ -388,9 +388,10 @@ private static boolean hasCauseAssignableFrom( @Nonnull final Throwable t, @Nonn return ExceptionUtils.getThrowableList(t).stream().map(Throwable::getClass).anyMatch(cls::isAssignableFrom); } - private boolean preLookupCheckSuccessful( final String destinationName ) + private boolean preLookupCheckSuccessful( final String destinationName, final DestinationOptions options ) { - return getAllDestinationProperties() + return new ArrayList<>( + Cache.getOrComputeAllDestinations(options, this::getAllDestinationsByRetrievalStrategy).get()) .stream() .anyMatch(properties -> properties.get(DestinationProperty.NAME).contains(destinationName)); }