summer
Sep 19th, 2004, 06:25 PM
Hi I am trying to get up and running with webwork + spring + hibernate
I've got everything working working with template callbacks for transactions but after reading about source level meta data i'd really like to use that
I've basicly set up everything like this
<bean id="transactionManager" class="org.springframework.orm.hibernate.HibernateTransac tionManager">
<property name="sessionFactory">
<ref local="sessionFactory"/>
</property>
</bean>
<bean id="autoproxy" class="org.springframework.aop.framework.autoproxy.Defaul tAdvisorAutoProxyCreator">
<property name="proxyTargetClass">
<value>true</value>
</property>
</bean>
<bean id="transactionAttributeSource" class="org.springframework.transaction.interceptor.Attrib utesTransactionAttributeSource" autowire="constructor" />
<bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.Transa ctionInterceptor" autowire="byType" />
The action class looks like this
<bean id="Someaction" name=" ... " class=" ... " singleton="false">
....
</bean>
The non singleton Someaction action class has
@@org.springframework.transaction.interceptor.Defa ultTransactionAttribute()
on top, the attributes compiler generates the classes all fine
I am using the session in view filter which means FlushMode.NEVER is set on the session and you should preferably use middle tier transactions
Which I thought I'd set up with all of the above but I am still getting Write operations are not allowed exceptions
So I'd like to know
1. Should the transaction interceptor commit / flush the session or do you need to do that some other way
2. If it should do that does anyone have a clue as to why it's not working in my setup
3. is there a way to detect if your method is being adviced
I've got everything working working with template callbacks for transactions but after reading about source level meta data i'd really like to use that
I've basicly set up everything like this
<bean id="transactionManager" class="org.springframework.orm.hibernate.HibernateTransac tionManager">
<property name="sessionFactory">
<ref local="sessionFactory"/>
</property>
</bean>
<bean id="autoproxy" class="org.springframework.aop.framework.autoproxy.Defaul tAdvisorAutoProxyCreator">
<property name="proxyTargetClass">
<value>true</value>
</property>
</bean>
<bean id="transactionAttributeSource" class="org.springframework.transaction.interceptor.Attrib utesTransactionAttributeSource" autowire="constructor" />
<bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.Transa ctionInterceptor" autowire="byType" />
The action class looks like this
<bean id="Someaction" name=" ... " class=" ... " singleton="false">
....
</bean>
The non singleton Someaction action class has
@@org.springframework.transaction.interceptor.Defa ultTransactionAttribute()
on top, the attributes compiler generates the classes all fine
I am using the session in view filter which means FlushMode.NEVER is set on the session and you should preferably use middle tier transactions
Which I thought I'd set up with all of the above but I am still getting Write operations are not allowed exceptions
So I'd like to know
1. Should the transaction interceptor commit / flush the session or do you need to do that some other way
2. If it should do that does anyone have a clue as to why it's not working in my setup
3. is there a way to detect if your method is being adviced