central dogma 와 통신을 할 client 를 빈으로 등록해야합니다.
종속성 설정
implementation 'com.linecorp.centraldogma:centraldogma-client-armeria:0.65.1'
client bean
@Bean
public CentralDogma centralDogma() {
try {
return new ArmeriaCentralDogmaBuilder()
.host(centralDogmaProperties.getCENTRAL_DOGMA_HOST())
.build();
} catch (UnknownHostException e) {
log.error("can't access central dogma : {}", e.getMessage());
throw new RuntimeException();
}
}
central dogma 에 저장된 파일이 변경됨을 감지하여 event 를 줄 수 있습니다.
하기 코드는 demo.json 파일이 수정됨에 따라 cache를 업데이트 합니다.
public void watchFile(String projectName, String repositoryName, String fileName) {
log.info("listen file changed");
Watcher<JsonNode> watcher =
centralDogma.fileWatcher("demo", "demo",
Query.ofJsonPath("/demo.json"));
// Register a callback for changes.
watcher.watch((revision, value) -> {
queryHolder.updateCache("demo", value.asText());
});
}
이 외에도, client를 통해서 파일 수정, 삭제, 단순 조회도 가능합니다.