728x90
Handler<T>
Vert.x에서는 콜백을(어떤 작업이 완료되었을 때 특정 함수를 호출)
핸들러라고 명칭하고 별도의 Interface를 제공합니다.
이 핸들러 인터페이스는 Vert.x 코드 전체에서 람다 함수와 같이 형태로 아주 유용하게 사용됩니다.
/**
* A generic event handler.
* <p>
* This interface is used heavily throughout Vert.x as a handler for all types of asynchronous occurrences.
* <p>
*
* @author <a href="http://tfox.org">Tim Fox</a>
*/
@FunctionalInterface
public interface Handler<E> {
/**
* Something has happened, so handle it.
*
* @param event the event to handle
*/
void handle(E event);
}
다음은 타이머 이벤트 메소드에서 핸들러를 사용하는 예를 살펴봅시다.
setTimer
vertx.setTimer(delay, handler);
setTimer는 지정된 delay 시간 후 한 번만 작업을 실행합니다.
여기서 delay는 작업을 실행하기까지 기다릴 시간(밀리초 단위)을 의미하고, handler는 작업을 수행하는 핸들러입니다.
예를 들어, 1초 후에 "Hello, world!"를 출력하는 timer를 설정하는 코드는 다음과 같습니다.
vertx.setTimer(1000, event -> {
System.out.println("Hello, world!");
});
setPeriodic
vertx.setPeriodic(delay, handler);
setPeriodic은 지정된 delay 시간 주기로 계속해서 작업을 실행합니다.
1초마다 "Hello, world!"를 출력하는 setPeriodic을 설정하는 코드는 다음과 같습니다.
vertx.setPeriodic(1000, event -> {
System.out.println("Hello, world!");
});
setTimer와 setPeriodic은 Vert.X 애플리케이션에서 다양한 작업을 수행하는 데 유용합니다. 예를 들어, 다음과 같은 작업에 사용할 수 있습니다.
- 일정 시간마다 데이터를 업데이트하는 경우
- 일정 시간마다 알림을 보내는 경우
- 일정 시간마다 작업을 수행하는 경우
참고 출처 :
https://signal9.co.kr/2019/12/17/vertx-future/
https://stackoverflow.com/questions/55047547/vertx-io-scheduling-tasks
728x90
'STUDY > Vert.x' 카테고리의 다른 글
[Vert.x] 이벤트 핸들러 정리 (1) | 2023.09.21 |
---|---|
[Vert.x] 이벤트버스(Event Bus)란? (0) | 2023.06.16 |
[Vert.x] 버텍스(Vert.x) 코드 분석 정리 (0) | 2023.06.16 |
[Vert.x] 버텍스(Vert.x)란? (0) | 2023.03.10 |