春の取引管理を学んでいます。
Spring3.0 と oracle 10g を練習用に使用しました。
以下は私の春のトランザクション構成です
<aop:config>
<aop:pointcut expression="execution(* com.spring.*.service.impl.*.*(..))"
id="serivcePointcut"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="serivcePointcut"/>
</aop:config>
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="get*" read-only="true"/>
<tx:method name="find*" read-only="true"/>
<tx:method name="*"/>
</tx:attributes>
</tx:advice.
読み取り専用が true とマークされているため、get* メソッドを介してレコードを挿入すると例外がスローされるかどうかを確認したかったので、getCustomer() メソッドを介してレコードを挿入しました。しかし、例外をスローする代わりに、レコードが挿入されたと思います。
ログでは、com.spring.customer.service.impl.CustomerServiceImpl.Even に対して作成されているトランザクションを確認できます。ログには、Setting jdbc connection read only が表示されます。
誰が私が間違っているのか説明できますか?