Flux
-> response를 유지하면서 데이터를 계속 흘려보낼 수 있다.
Spring Framework 5부터 추가된 기능으로, Reactive Programming을 지원하는 모듈 중 하나이다. Flux는 Reactive Stream의 Publisher 인터페이스를 구현한 클래스로, 여러 개의 데이터를 발행하고 구독(subscribe)할 수 있다. 이를 통해 비동기적으로 데이터를 처리하고, 데이터의 흐름을 제어할 수 있다.
@Tailable
MongoDB에서 사용되는 어노테이션 중 하나로, MongoDB의 컬렉션에 대한 쿼리 결과를 실시간으로 감시할 수 있는 기능을 제공한다. 일반적인 MongoDB 쿼리는 한 번 실행되면 해당 쿼리의 결과를 반환하고 끝나지만, @Tailable 어노테이션이 붙은 MongoDB 쿼리는 쿼리가 실행되고 난 후에도 계속해서 변경된 데이터를 감시하고, 실시간으로 결과를 반환합니다.
public interface ChatRepository extends ReactiveMongoRepository<Chat, String> {
@Tailable
@Query("{sender: ?0, receiver: ?1}")
Flux<Chat> mFindBySender(String sender, String receiver);
}