Skip to content

Commit 7faf4ce

Browse files
authored
Updated to use @async instead of CompletableFuture (#704)
1 parent bbd93c6 commit 7faf4ce

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

spring-cloud-azure-appconfiguration-config/src/main/java/com/microsoft/azure/spring/cloud/config/AppConfigurationAutoConfiguration.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,13 @@
1010
import org.springframework.cloud.endpoint.RefreshEndpoint;
1111
import org.springframework.context.annotation.Bean;
1212
import org.springframework.context.annotation.Configuration;
13+
import org.springframework.scheduling.annotation.EnableAsync;
1314

1415
import com.microsoft.azure.spring.cloud.config.stores.ClientStore;
1516

1617
@Configuration
1718
@ConditionalOnProperty(prefix = AppConfigurationProperties.CONFIG_PREFIX, name = "enabled", matchIfMissing = true)
19+
@EnableAsync
1820
public class AppConfigurationAutoConfiguration {
1921

2022
@Configuration

spring-cloud-azure-appconfiguration-config/src/main/java/com/microsoft/azure/spring/cloud/config/AppConfigurationRefresh.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import java.util.Date;
1414
import java.util.List;
1515
import java.util.Map;
16-
import java.util.concurrent.CompletableFuture;
1716
import java.util.concurrent.Future;
1817
import java.util.concurrent.atomic.AtomicBoolean;
1918

@@ -23,12 +22,16 @@
2322
import org.springframework.cloud.endpoint.event.RefreshEvent;
2423
import org.springframework.context.ApplicationEventPublisher;
2524
import org.springframework.context.ApplicationEventPublisherAware;
25+
import org.springframework.scheduling.annotation.Async;
26+
import org.springframework.scheduling.annotation.AsyncResult;
27+
import org.springframework.stereotype.Component;
2628

2729
import com.azure.data.appconfiguration.models.ConfigurationSetting;
2830
import com.azure.data.appconfiguration.models.SettingSelector;
2931
import com.microsoft.azure.spring.cloud.config.stores.ClientStore;
3032
import com.microsoft.azure.spring.cloud.config.stores.ConfigStore;
3133

34+
@Component
3235
public class AppConfigurationRefresh implements ApplicationEventPublisherAware {
3336
private static final Logger LOGGER = LoggerFactory.getLogger(AppConfigurationRefresh.class);
3437

@@ -71,8 +74,9 @@ public void setApplicationEventPublisher(ApplicationEventPublisher applicationEv
7174
* refreshConfigurations is currently being run elsewhere this method will return
7275
* right away as <b>false</b>.
7376
*/
77+
@Async
7478
public Future<Boolean> refreshConfigurations() {
75-
return CompletableFuture.supplyAsync(() -> refreshStores());
79+
return new AsyncResult<Boolean>(refreshStores());
7680
}
7781

7882
/**

0 commit comments

Comments
 (0)