<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Simplifying Enterprise Applications with Spring 2.0 and AspectJ</title>
	<atom:link href="http://blog.springsource.org/2006/08/10/simplifying-enterprise-applications-with-spring-20-and-aspectj/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.springsource.org/2006/08/10/simplifying-enterprise-applications-with-spring-20-and-aspectj/</link>
	<description>The voice of SpringSource</description>
	<lastBuildDate>Wed, 08 Feb 2012 17:31:53 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.1</generator>
	<item>
		<title>By: Schmutz Guido</title>
		<link>http://blog.springsource.org/2006/08/10/simplifying-enterprise-applications-with-spring-20-and-aspectj/comment-page-1/#comment-246</link>
		<dc:creator>Schmutz Guido</dc:creator>
		<pubDate>Sun, 17 Sep 2006 17:35:01 +0000</pubDate>
		<guid isPermaLink="false">http://blog.interface21.com/main/2006/08/10/simplifying-enterprise-applications-with-spring-20-and-aspectj/#comment-246</guid>
		<description>Hi Adrian

Thanks for the very interesting article!

Was just trying the LostUpdateDetector aspect. I had a problem with it, because I declared the @Transactional annotations on the interface instead of class. Therefore the readOnlyTransaction Pointcut did not work, because SystemArchitecture.businessService() is an execution join point and it can&#039;t find the @Transactional annotations. I had to switch to call join points to make it work. Wouldn&#039;t it be better do declare it both on execution() or call() ?

pointcut readOnlyTransaction(Transactional txAnn) :
   (call(* com.trivadis.eurojourney.application..*.*(..)) &#124;&#124;
        execution(* com.trivadis.eurojourney.application..*.*(..))) &amp;&amp;
   @annotation(txAnn) &amp;&amp; if(txAnn.readOnly()) ;

Are there any side-effects doing that ?

Thanks
Guido</description>
		<content:encoded><![CDATA[<p>Hi Adrian</p>
<p>Thanks for the very interesting article!</p>
<p>Was just trying the LostUpdateDetector aspect. I had a problem with it, because I declared the @Transactional annotations on the interface instead of class. Therefore the readOnlyTransaction Pointcut did not work, because SystemArchitecture.businessService() is an execution join point and it can&#039;t find the @Transactional annotations. I had to switch to call join points to make it work. Wouldn&#039;t it be better do declare it both on execution() or call() ?</p>
<p>pointcut readOnlyTransaction(Transactional txAnn) :<br />
   (call(* com.trivadis.eurojourney.application..*.*(..)) ||<br />
        execution(* com.trivadis.eurojourney.application..*.*(..))) &amp;&amp;<br />
   @annotation(txAnn) &amp;&amp; if(txAnn.readOnly()) ;</p>
<p>Are there any side-effects doing that ?</p>
<p>Thanks<br />
Guido</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Twice</title>
		<link>http://blog.springsource.org/2006/08/10/simplifying-enterprise-applications-with-spring-20-and-aspectj/comment-page-1/#comment-61</link>
		<dc:creator>Twice</dc:creator>
		<pubDate>Fri, 18 Aug 2006 14:09:08 +0000</pubDate>
		<guid isPermaLink="false">http://blog.interface21.com/main/2006/08/10/simplifying-enterprise-applications-with-spring-20-and-aspectj/#comment-61</guid>
		<description>The article is very well written but the problem is the lack of source code. Is there any possibility of getting the code for the refactored petclinic.</description>
		<content:encoded><![CDATA[<p>The article is very well written but the problem is the lack of source code. Is there any possibility of getting the code for the refactored petclinic.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

