게시판 프로젝트에 트랜잭션을 추가하려고 서비스에 있는 메소드에 다음과 같은 코드를 추가함.
@Transactional(propagation =Propagation.REQUIRED, rollbackFor=Exception.class)
public List<ReplyVo> write(ReplyVo rvo) throws Exception {
mapper.createReply(rvo);
bbsService.repCountPlus(Integer.toString(rvo.getBno()));
return mapper.replyList(Integer.toString(rvo.getBno()));
}
그랬더니 다음과 같은 에러가 나옴.
과거의 예제를 찾아 살펴본 결과 root-context의 sqlSessionFactory 부분이 잘못돼있는 것 같음.
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="transactionFactory">
<bean
class="org.apache.ibatis.transaction.managed.ManagedTransactionFactory" />
</property>
</bean>
다음과 같이 transactionFactory property부분을 주석처리 해주니 트랜젝션이 적용됨.
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<!-- <property name="transactionFactory">
<bean
class="org.apache.ibatis.transaction.managed.ManagedTransactionFactory" />
</property> -->
</bean>
'코딩 > WEB' 카테고리의 다른 글
토비의 스프링3 applicationContext 관련 예외2 (0) | 2014.11.27 |
---|---|
에러: Uncaught TypeError: Cannot use 'in' operator to search for '11869' in (0) | 2014.11.20 |
에러 HTTP Status 406 (0) | 2014.11.17 |
토비의 스프링3 applicationContext 관련 예외 (0) | 2014.11.16 |
에러: AssertionError: status expected 200 but was 406 (0) | 2014.11.14 |