Moves to ApplicationListener away from @EventListener

This commit is contained in:
Spencer Gibb
2018-08-22 12:21:00 -04:00
parent a31f4ca1b7
commit 2a7df6ef95
2 changed files with 16 additions and 6 deletions

View File

@@ -21,16 +21,16 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.context.ApplicationListener;
import reactor.cache.CacheFlux;
import reactor.core.publisher.Flux;
import org.springframework.cloud.gateway.event.RefreshRoutesEvent;
import org.springframework.context.event.EventListener;
/**
* @author Spencer Gibb
*/
public class CachingRouteDefinitionLocator implements RouteDefinitionLocator {
public class CachingRouteDefinitionLocator implements RouteDefinitionLocator, ApplicationListener<RefreshRoutesEvent> {
private final RouteDefinitionLocator delegate;
private final Flux<RouteDefinition> routeDefinitions;
@@ -57,7 +57,12 @@ public class CachingRouteDefinitionLocator implements RouteDefinitionLocator {
return this.routeDefinitions;
}
@EventListener(RefreshRoutesEvent.class)
@Override
public void onApplicationEvent(RefreshRoutesEvent event) {
refresh();
}
@Deprecated
/* for testing */ void handleRefresh() {
refresh();
}

View File

@@ -21,17 +21,17 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.context.ApplicationListener;
import reactor.cache.CacheFlux;
import reactor.core.publisher.Flux;
import org.springframework.cloud.gateway.event.RefreshRoutesEvent;
import org.springframework.context.event.EventListener;
import org.springframework.core.annotation.AnnotationAwareOrderComparator;
/**
* @author Spencer Gibb
*/
public class CachingRouteLocator implements RouteLocator {
public class CachingRouteLocator implements RouteLocator, ApplicationListener<RefreshRoutesEvent> {
private final RouteLocator delegate;
private final Flux<Route> routes;
@@ -57,7 +57,12 @@ public class CachingRouteLocator implements RouteLocator {
return this.routes;
}
@EventListener(RefreshRoutesEvent.class)
@Override
public void onApplicationEvent(RefreshRoutesEvent event) {
refresh();
}
@Deprecated
/* for testing */ void handleRefresh() {
refresh();
}