Trying to create a bean in resources.groovy equivalent to this in XML:
<bean id="txProxyTemplate" abstract="true"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager" ref="transactionManager" />
<property name="target" ref="genericHibernateDAO" />
<property name="transactionAttributes">
<props>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<!--prop key="analyze">PROPAGATION_REQUIRED</prop -->
<prop key="validate">PROPAGATION_REQUIRED</prop>
<prop key="remove*">PROPAGATION_REQUIRED</prop>
<prop key="create*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="add*">PROPAGATION_REQUIRED</prop>
<prop key="clear*">PROPAGATION_REQUIRED</prop>
<prop key="set*">PROPAGATION_REQUIRED</prop>
<prop key="reinitialize">PROPAGATION_REQUIRED</prop>
<prop key="zap*">PROPAGATION_REQUIRED</prop>
<prop key="turn*">PROPAGATION_REQUIRED</prop>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
Then a second bean which uses this abstract bean as it's parent:
<bean id="myCoolService" parent="txProxyTemplate">
<property name="target">
<bean
class="com.fourgablesguy.myapp.MyCoolService">
</bean>
</property>
</bean>
So far this is what I have in resources.groovy:
import org.springframework.transaction.interceptor.TransactionProxyFactoryBean
import com.fourgablesguy.myapp.MyCoolService
beans = {
txProxyTemplate(TransactionProxyFactoryBean) {
transactionManager = ref('transactionManager')
target = ref ('genericHibernateDAO')
transactionAttributes = [
"save*":"PROPAGATION_REQUIRED",
"validate":"PROPAGATION_REQUIRED",
"remove*":"PROPAGATION_REQUIRED",
"create*":"PROPAGATION_REQUIRED",
"delete*":"PROPAGATION_REQUIRED",
"add*":"PROPAGATION_REQUIRED",
"clear*":"PROPAGATION_REQUIRED",
"set*":"PROPAGATION_REQUIRED",
"reinitialize":"PROPAGATION_REQUIRED",
"zap*":"PROPAGATION_REQUIRED",
"turn*":"PROPAGATION_REQUIRED",
"*":"PROPAGATION_REQUIRED"
]
}
myCoolService(MyCoolService) {
}
}
Just not sure how to setup the txProxyTemplate bean to be abstract and the myCoolService bean to have the txProxyTemplate bean as the parent and the myCoolService bean as the target.