<?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"
	>
<channel>
	<title>Comments on: A Couple ColdSpring AOP Gotchas</title>
	<atom:link href="http://www.barneyb.com/barneyblog/2006/10/20/a-couple-coldspring-aop-gotchas/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.barneyb.com/barneyblog/2006/10/20/a-couple-coldspring-aop-gotchas/</link>
	<description>Thoughts, rants, and even some code from the mind of Barney Boisvert.</description>
	<pubDate>Fri, 21 Nov 2008 21:59:32 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
		<item>
		<title>By: Sean Corfield</title>
		<link>http://www.barneyb.com/barneyblog/2006/10/20/a-couple-coldspring-aop-gotchas/#comment-455</link>
		<dc:creator>Sean Corfield</dc:creator>
		<pubDate>Sat, 21 Oct 2006 19:22:02 +0000</pubDate>
		<guid isPermaLink="false">http://barneyb.com/barneyblog/?p=190#comment-455</guid>
		<description>Heh, you're right... I'm wrong... I could have sworn that used to be the case... maybe back in CFMX 6.1? But you're right that it only evaluates the default now if the argument is *not* passed in.
</description>
		<content:encoded><![CDATA[<p>Heh, you're right&#8230; I'm wrong&#8230; I could have sworn that used to be the case&#8230; maybe back in CFMX 6.1? But you're right that it only evaluates the default now if the argument is *not* passed in.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Barney</title>
		<link>http://www.barneyb.com/barneyblog/2006/10/20/a-couple-coldspring-aop-gotchas/#comment-454</link>
		<dc:creator>Barney</dc:creator>
		<pubDate>Sat, 21 Oct 2006 14:57:17 +0000</pubDate>
		<guid isPermaLink="false">http://barneyb.com/barneyblog/?p=190#comment-454</guid>
		<description>Sean,

That's not behaviour I've witnessed, though I haven't checked in a while.  What I discovered when I did test was that CFPARAM always evaluates the default attribute, but CFARGUMENT only evaluates it if it is needed.  I think I actually blogged about that at some point, now that I think about it.  So using a runtime default for CFARGUMENT is safe, but a runtime default for CFPARAM is not safe.</description>
		<content:encoded><![CDATA[<p>Sean,</p>
<p>That's not behaviour I've witnessed, though I haven't checked in a while.  What I discovered when I did test was that CFPARAM always evaluates the default attribute, but CFARGUMENT only evaluates it if it is needed.  I think I actually blogged about that at some point, now that I think about it.  So using a runtime default for CFARGUMENT is safe, but a runtime default for CFPARAM is not safe.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Barney</title>
		<link>http://www.barneyb.com/barneyblog/2006/10/20/a-couple-coldspring-aop-gotchas/#comment-453</link>
		<dc:creator>Barney</dc:creator>
		<pubDate>Sat, 21 Oct 2006 14:55:15 +0000</pubDate>
		<guid isPermaLink="false">http://barneyb.com/barneyblog/?p=190#comment-453</guid>
		<description>Steve,

The aspect is basically just a CFTRANSACTION tag, so it'll work with anything you can use CFTRANSACTION with.  The only caveat (at the moment) is that you can only specify a single isolation level for your entire application.  I've considered addressing that via CFFUNCTION metadata, but there's no assurance that the right method's metadata will be used, as nested/reentrant transactional method invocations don't start new transactions, and therefore don't dictate the isolation level.  So the isolation level is alway specified by the first transactional method encountered.</description>
		<content:encoded><![CDATA[<p>Steve,</p>
<p>The aspect is basically just a CFTRANSACTION tag, so it'll work with anything you can use CFTRANSACTION with.  The only caveat (at the moment) is that you can only specify a single isolation level for your entire application.  I've considered addressing that via CFFUNCTION metadata, but there's no assurance that the right method's metadata will be used, as nested/reentrant transactional method invocations don't start new transactions, and therefore don't dictate the isolation level.  So the isolation level is alway specified by the first transactional method encountered.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sean Corfield</title>
		<link>http://www.barneyb.com/barneyblog/2006/10/20/a-couple-coldspring-aop-gotchas/#comment-452</link>
		<dc:creator>Sean Corfield</dc:creator>
		<pubDate>Sat, 21 Oct 2006 04:17:24 +0000</pubDate>
		<guid isPermaLink="false">http://barneyb.com/barneyblog/?p=190#comment-452</guid>
		<description>One caveat for defaults with dynamic values - are you aware that the default is *always* calculated even if the argument is passed? Using structKeyExists() inside the method is better practice, IMO.</description>
		<content:encoded><![CDATA[<p>One caveat for defaults with dynamic values - are you aware that the default is *always* calculated even if the argument is passed? Using structKeyExists() inside the method is better practice, IMO.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Scott</title>
		<link>http://www.barneyb.com/barneyblog/2006/10/20/a-couple-coldspring-aop-gotchas/#comment-451</link>
		<dc:creator>Chris Scott</dc:creator>
		<pubDate>Fri, 20 Oct 2006 22:59:17 +0000</pubDate>
		<guid isPermaLink="false">http://barneyb.com/barneyblog/?p=190#comment-451</guid>
		<description>Hey Barney. The first issue with default values, yep, I have been running into the same issue with cfproperty tags for as conversion. Flaky at best. But I think I can definitely put some thought into this package issue. There's got to be something I can do to work through that one. Well there kind of is, but it could have negative repercussions... Glad to hear that you are using CS's aop with success for transaction management. That's just a great use case there and many people love using Spring's aop based transaction management in java.</description>
		<content:encoded><![CDATA[<p>Hey Barney. The first issue with default values, yep, I have been running into the same issue with cfproperty tags for as conversion. Flaky at best. But I think I can definitely put some thought into this package issue. There's got to be something I can do to work through that one. Well there kind of is, but it could have negative repercussions&#8230; Glad to hear that you are using CS's aop with success for transaction management. That's just a great use case there and many people love using Spring's aop based transaction management in java.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve Bryant</title>
		<link>http://www.barneyb.com/barneyblog/2006/10/20/a-couple-coldspring-aop-gotchas/#comment-450</link>
		<dc:creator>Steve Bryant</dc:creator>
		<pubDate>Fri, 20 Oct 2006 20:47:32 +0000</pubDate>
		<guid isPermaLink="false">http://barneyb.com/barneyblog/?p=190#comment-450</guid>
		<description>Barney,

Is your transaction management specific to one database or can it be used on any database that supports transactions?</description>
		<content:encoded><![CDATA[<p>Barney,</p>
<p>Is your transaction management specific to one database or can it be used on any database that supports transactions?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
