Is there any performance penalty to define all methods as transactional using Spring AOP based declarative transaction management? See the config below. The reason is that I do not know what method name developers will give for non transactional methods. One option is I start with a wild card list and developers update the list if the method name does not fall under the defined list.
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="*" />
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut id="dtxops" expression="bean(*Service)" />
<aop:advisor advice-ref="txAdvice" pointcut-ref="dtxops" />
</aop:config>