Разница между RefreshScopeRefreshedEvent и EnvironmentChangeEvent - PullRequest
0 голосов
/ 03 мая 2018

Согласно комментарию уровня класса

  1. org.springframework.cloud.context.environment.EnvironmentChangeEvent

Событие опубликовано, чтобы сообщить об изменении {@link Environment}.

Это слишком общий характер, и я не знаю, что все включено, когда мы говорим об изменении в окружающей среде.

  1. org.springframework.cloud.context.scope.refresh.RefreshScopeRefreshedEvent

К сожалению, в этом классе нет комментариев к классу.

Насколько я понимаю, RefreshScopeRefreshedEvent обрабатывает изменения значений свойств в config-сервере, но, похоже, этого не происходит, вместо этого такое событие доступно через EnvironmentChangeEvent.

Я нажал / обновил конечную точку, но она не вызывает мой класс слушателя с событием RefreshScopeRefreshedEvent. Вместо EnvironmentChangeEvent поступил вызов для / refresh

1 Ответ

0 голосов
/ 04 мая 2018

EnvironmentChangeEvent вызывается при изменении среды. В терминах Spring Cloud Config это означает, что он срабатывает при вызове конечной точки привода / env .

RefreshScopeRefreshedEvent запускается при запуске обновления бинов @RefreshScope, например, / refresh вызывается конечная точка привода.

Вы можете, зарегистрировав ApplicationListener следующим образом:

@Configuration
public class ApplicationConfig {

@EventListener(RefreshScopeRefreshedEvent.class)
public void onRefresh(RefreshScopeRefreshedEvent event) {
    // Your code goes here...
  }
}
...