2015년 11월 9일 월요일

[spring] - mongo 에러처리

mongodb의 특성상 처리에 대한 결과를 신경 쓰지 않는다.

즉, 삽입에서의 성공, 실패에 대한 처리가 불가능가능하지 않다.

 결과를 리턴받는 것은 필요한 기능이고 당연 기능을 제공한다. 하지만 spring에서든 node에서든 이러한 성격에 따라 결과를 신경쓰지 않는 것을 따기 때문에 default 설정으로 그냥 넘기게 된다.

xml 설정의 mongoTemplate의 설정 부분을 바꾸면 된다.
<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
    <constructor-arg ref="mongo" />
    <constructor-arg value="oman" />
    <property name="writeResultChecking" value="EXCEPTION"/>
</bean>


value로 설정 할 수 있는 값은 3가지다.
none, exception, log



  • none
    • default 설정 값으로 아무런 행동도 하지 않는다. error를 던지지도 않고 로그로도 남기지 않는다.
  • log
    • 문제가 생길 경우 로그로 남긴다.
    • ....failed: E11000 duplicate key error index:........
  • exception
    • 예외처리가 되어 핸들링 할 수 있게 된다.
    • org.springframework.dao.DataIntegrityViolationException:.......

댓글 없음:

댓글 쓰기