(MongoDB) AbstractMongoListener Usage example(몽고리스너 사용법)

몽고리스너란, MongoDB 컬렉션에 변화가 발생할 경우 이러한 이벤트에 따라 사용자가 정의한 행위를 실행하는것을 도와주는 이벤트 리스너이다.


먼저, AbstractMongoListener 의 메소드를 설명하겠습니다.


void onAfterConvert(AfterConvertEvent<E> event)


void onAfterDelete(AfterDeleteEvent<E> event)


void onAfterLoad(AfterLoadEvent<E> event)


void onAfterSave(AfterSaveEvent<E> event)


void onApplicationEvent(MongoMappingEvent<E> event)


void onBeforeConvert(AfterConvertEvent<E> event)


void onSave(AfterSaveEvent<E> event)


예)

Onsave메소드를 오버라이에서 사용하는 방법을 알아보자
이 예시는 Example클래스에 이벤트가 발생했을 때, 일어나는 리스너 클래스이다.
Example 클래스에 save가 일어난 후 다음과 같이 특별ㅎ

class ExampleListener extends AbstracMongoListener<Example> {


@Override
public void onAfterSave(AfterSaveEvent<Example> event) {

  Example ex = event.getSource();

 //이 아래부터 개발자가 원하는 처리를 할 수 있다.


}

단, 주의 사항은
onAfterSave같은 경우는 MongoDB에 insert, insertList, save메소드가 발생했을 때만, 이 리스너 메소드가 호출된다. updateFirst, updateMulti, findAndModify가 발생했을 때는 이 메소드가 호출되지 않는다.
왜냐하면 저장하는 메소드는 애플리케이션단에서 이벤트가 발생한 직후 처리할 수 있는 이벤트적 성격을 가지고 있지만, 업데이트 같은경우는 DB단 안에서 처리되기 때문이다.



댓글

이 블로그의 인기 게시물

(ElasticSearch) 결과에서 순서 정렬

(네트워크)폴링방식 vs 롱 폴링방식

(18장) WebSocekt과 STOMP를 사용하여 메시징하기