Well I wouldn't do this on the endpoint part. The transaction management with AOP should be implemented on the DAO Layer.
Your architecture should look something like this:
* Endpoints --> Web-Service implementations --> DAO Layer
There you have advisor, advise and transaction manager. That is everything what you need. Look at examples of spring-ws.
<!-- ========================= ASPECT CONFIGURATION ========================
- <!-- Transaction advice definition, based on method name patterns.
Defaults to PROPAGATION_REQUIRED with read-only hint for all methods whose name starts with
"start", and to PROPAGATION_REQUIRED for all other methods.
- <tx:advice id="txAdvice" transaction-manager="txManager">
<tx:method name="start*" read-only="true" />
<tx:method name="*" />
- <!-- This definition creates auto-proxy infrastructure based on the given pointcut,
expressed in AspectJ pointcut language. Here: applying the advice named
"txAdvice" to all methods on classes extended by interfaces defined in at.ontec.econtrol.service.
<aop:advisor pointcut="execution(* com.service.*.*(..))" advice-ref="txAdvice" />
<!-- TransactionManager for JDBC DataSource
- <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
Originally Posted by Leslie Noth