<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Object Mentor Blog: Writing Java Aspects ... with JRuby and Aquarium!</title>
    <link>http://blog.objectmentor.com/articles/2008/02/25/writing-java-aspects-with-jruby-and-aquarium</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description></description>
    <item>
      <title>Writing Java Aspects ... with JRuby and Aquarium!</title>
      <description>&lt;p&gt;&lt;a href="http://aquarium.rubyforge.org"&gt;Aquarium&lt;/a&gt; V0.4.0, my &lt;span class="caps"&gt;AOP&lt;/span&gt; library for Ruby, now supports &lt;a href="http://jruby.codehaus.org/"&gt;JRuby&lt;/a&gt;. Not only do the regular &amp;#8220;pure Ruby&amp;#8221; Aquarium specs run reliably under JRuby (V1.1RC2), but you can now write aspects for Java types with Aquarium!&lt;/p&gt;


	&lt;p&gt;There are some &lt;strong&gt;important&lt;/strong&gt; limitations, though. Cartographers of old would mark dangerous or unknown territory on their maps with &lt;a href="http://en.wikipedia.org/wiki/Here_be_dragons"&gt;&lt;em&gt;hic sunt dracones&lt;/em&gt;&lt;/a&gt; (&amp;#8220;here be dragons&amp;#8221;), a reference to the old practice of adorning maps with serpents around the edges.&lt;/p&gt;


	&lt;p&gt;This is true of Aqurium + Java types in JRuby, too, at least for now.&lt;/p&gt;


	&lt;p&gt;Aquarium uses Ruby&amp;#8217;s metaprogramming &lt;span class="caps"&gt;API&lt;/span&gt; extensively and the JRuby team has done some pretty sophisticated work to integrate Java types with Ruby. Hence, it&amp;#8217;s not too surprising there are some &lt;em&gt;gotchas&lt;/em&gt;. Hopefully, workarounds will be possible for all of them.&lt;/p&gt;


	&lt;p&gt;The details are discussed on the &lt;a href="http://aquarium.rubyforge.org/jruby.htm"&gt;JRuby page&lt;/a&gt;, the &lt;a href="http://aquarium.rubyforge.org/rdoc/files/README.html"&gt;&lt;span class="caps"&gt;README&lt;/span&gt;&lt;/a&gt; on the Aquarium site, and of course the &amp;#8220;specs&amp;#8221; in the distribution&amp;#8217;s &lt;code&gt;jruby/spec&lt;/code&gt; directory. I&amp;#8217;ll summarize them here, after discussing the pros and cons of Aquarium &lt;em&gt;vs.&lt;/em&gt; the venerable &lt;a href="http://www.aspectj.org"&gt;AspectJ&lt;/a&gt; and showing you an example of using Aquarium for Java.&lt;/p&gt;


	&lt;p&gt;Briefly, Aquarium&amp;#8217;s advantages over AspectJ are these:&lt;/p&gt;


	&lt;ol&gt;
	&lt;li&gt;You can add &lt;strong&gt;and&lt;/strong&gt; remove advice dynamically at runtime. You can&amp;#8217;t remove AspectJ advice.&lt;/li&gt;
		&lt;li&gt;You can advise &lt;span class="caps"&gt;JDK&lt;/span&gt; types easily with Aquarium. AspectJ won&amp;#8217;t do this by default, but this is really more of a legacy licensing issue than a real technical limitation.&lt;/li&gt;
		&lt;li&gt;You can advise individual &lt;em&gt;objects&lt;/em&gt;, not just types.&lt;/li&gt;
	&lt;/ol&gt;


	&lt;p&gt;Aquarium&amp;#8217;s disadvantages compared to AspectJ include:&lt;/p&gt;


	&lt;ol&gt;
	&lt;li&gt;Aquarium will be slower than using AspectJ (although this has not been studied in depth yet).&lt;/li&gt;
		&lt;li&gt;Aquarium&amp;#8217;s pointcut language is not as full-featured as AspectJ&amp;#8217;s.&lt;/li&gt;
		&lt;li&gt;There are the bugs and limitations I mentioned above in this initial V0.4.0 release, which I&amp;#8217;ll elaborate shortly.&lt;/li&gt;
	&lt;/ol&gt;


	&lt;p&gt;Here is an example of adding tracing calls to a method &lt;code&gt;doIt&lt;/code&gt; in all classes that implement the Java interface &lt;code&gt;com.foo.Work&lt;/code&gt;.&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;
Aspect.new :before, :calls_to =&amp;gt; [:doIt, :do_it], :in_types_and_descendents =&amp;gt; Java::com.foo.Work do |jp, obj, *args|
  log "Entering: #{jp.target_type.name}##{jp.method_name}: object = #{object}, args = #{args.inspect}" 
end
&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;There are two important points to notice in this example:&lt;/p&gt;


	&lt;ol&gt;
	&lt;li&gt;You can choose to refer to the method as &lt;code&gt;do_it&lt;/code&gt; (Ruby style) or &lt;code&gt;doIt&lt;/code&gt;, but these variants are effectively treated as &lt;strong&gt;separate&lt;/strong&gt; methods; advice on one will not affect invocations of the other. So, if you want to be sure to catch &lt;strong&gt;all&lt;/strong&gt; invocations, use &lt;strong&gt;both&lt;/strong&gt; forms. There is a bug (18326) that happens in certain conditions if you use just the Java naming convention.&lt;/li&gt;
		&lt;li&gt;If the type is an interface, you must use &lt;code&gt;:types_and_descendents&lt;/code&gt; (or one of the supported variants on the word &lt;code&gt;types&lt;/code&gt;...). Since interfaces don&amp;#8217;t have method implementations, you will match no join points unless you use the &lt;code&gt;_and_descendents&lt;/code&gt; clause. (By default, Aquarium warns you when no join points are matched by an aspect.) However, there is a bug (18325) with this approach if Java types are subtyped in Ruby.&lt;/li&gt;
	&lt;/ol&gt;


	&lt;h4&gt;Limitations and Bugs&lt;/h4&gt;


	&lt;p&gt;Okay, here&amp;#8217;s the &amp;#8220;fine print&amp;#8221;...&lt;/p&gt;


	&lt;p&gt;In this (V0.4.0) release, there are some important limitations.&lt;/p&gt;


	&lt;ol&gt;
	&lt;li&gt;Aquarium advice on a method in a Java type will &lt;strong&gt;only&lt;/strong&gt; be invoked when the method is called &lt;strong&gt;directly&lt;/strong&gt; from Ruby.&lt;/li&gt;
		&lt;li&gt;To have the advice invoked when the method is called from &lt;strong&gt;either&lt;/strong&gt; Java &lt;strong&gt;or&lt;/strong&gt; Ruby, it is necessary to create a Ruby subclass of the Java type and override the method(s) you want to advise. These overrides can just call &lt;code&gt;super&lt;/code&gt;. Note that it will also be necessary for &lt;strong&gt;instances&lt;/strong&gt; of this Ruby type to be used throughout the application, in both the Java and Ruby code. So, you&amp;#8217;ll have to instantiate the object in your Ruby code.&lt;/li&gt;
	&lt;/ol&gt;


	&lt;p&gt;Yea, this isn&amp;#8217;t so great, but if you&amp;#8217;re motivated&amp;#8230; ;)&lt;/p&gt;


	&lt;p&gt;There are also a few outstanding Aquarium bugs (which could actually be JRuby bugs or quirks of the Aquarium-JRuby &amp;#8220;interaction&amp;#8221;; I&amp;#8217;m not yet sure which).&lt;/p&gt;


	&lt;ol&gt;
	&lt;li&gt;&lt;strong&gt;Bug #18325&lt;/strong&gt;: If you have Ruby subclasses of Java types &lt;strong&gt;and&lt;/strong&gt; you advise a Java method in the hierarchy using &lt;code&gt;:types_and_descendents =&amp;gt; MyJavaBaseClassOrInterface&lt;/code&gt; &lt;strong&gt;and&lt;/strong&gt; you call unadvise on the aspect, the advice &amp;#8220;infrastructure&amp;#8221; is not correctly removed from the Ruby types. Workaround: Either don&amp;#8217;t &amp;#8220;unadvise&amp;#8221; such Ruby types or only advise methods in such Ruby types where the method is explicitly overridden in the Ruby class. (The spec and the &lt;a href="http://rubyforge.org/tracker/index.php?func=detail&amp;#38;aid=18325&amp;#38;group_id=4281&amp;#38;atid=16494"&gt;Rubyforge bug report&lt;/a&gt; provide examples.)&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;Bug #18326&lt;/strong&gt;: Normally, you can use either Java- or Ruby-style method names (&lt;em&gt;e.g.,&lt;/em&gt; &lt;code&gt;doSomething&lt;/code&gt; vs. &lt;code&gt;do_something&lt;/code&gt;), for Java types. However, if you write an aspect using the Java-style for a method name and a Ruby subclass of the Java type where the method is actually defined (i.e., the Ruby class doesn&amp;#8217;t override the method), Aquarium acts like the JoinPoint is advised, but the advice is never actually called. Workaround: Use the Ruby-style name in this scenario.&lt;/li&gt;
	&lt;/ol&gt;


	&lt;p&gt;So, there is still some work to do, but it&amp;#8217;s promising that you can use an aspect framework in one language with another. A primary goal of Aquarium is to make it easy to write simple aspects. My hope is that people who might find AspectJ daunting will still give Aquarium a try.&lt;/p&gt;</description>
      <pubDate>Mon, 25 Feb 2008 22:10:00 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:4645fddb-ba4f-4e8d-8283-7732439d017f</guid>
      <author>Dean Wampler</author>
      <link>http://blog.objectmentor.com/articles/2008/02/25/writing-java-aspects-with-jruby-and-aquarium</link>
      <category>JRuby</category>
      <category>aquarium</category>
      <category>Java</category>
      <category>aspects</category>
      <category>AOP</category>
      <category>AOSD</category>
    </item>
    <item>
      <title>"Writing Java Aspects ... with JRuby and Aquarium!" by space jam jordans</title>
      <description>&lt;p&gt;GOOD &lt;code&gt;@&lt;/code&gt;@!!!&lt;/p&gt;</description>
      <pubDate>Fri, 25 Nov 2011 22:19:41 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:1a8c2204-a1a7-412a-ad9c-39e99cf7542a</guid>
      <link>http://blog.objectmentor.com/articles/2008/02/25/writing-java-aspects-with-jruby-and-aquarium#comment-178355</link>
    </item>
    <item>
      <title>"Writing Java Aspects ... with JRuby and Aquarium!" by christian louboutin</title>
      <description>&lt;p&gt;I thought Star Wars was too wacky for the general public.&lt;/p&gt;</description>
      <pubDate>Thu, 03 Nov 2011 11:54:28 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:3568c508-ddf5-4c93-b61e-eb0e962abe85</guid>
      <link>http://blog.objectmentor.com/articles/2008/02/25/writing-java-aspects-with-jruby-and-aquarium#comment-167747</link>
    </item>
    <item>
      <title>"Writing Java Aspects ... with JRuby and Aquarium!" by christian louboutin</title>
      <description>&lt;p&gt;I thought Star Wars was too wacky for the general public.&lt;/p&gt;</description>
      <pubDate>Thu, 03 Nov 2011 11:51:38 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:293752ad-503f-429c-ade8-a5d0c0a1dc0a</guid>
      <link>http://blog.objectmentor.com/articles/2008/02/25/writing-java-aspects-with-jruby-and-aquarium#comment-167745</link>
    </item>
    <item>
      <title>"Writing Java Aspects ... with JRuby and Aquarium!" by christian louboutin</title>
      <description>&lt;p&gt;The professional design make you foot more comfortable. Even more tantalizing,this pattern make your legs look as long as you can,it will make you looked more attractive.Moveover,it has reasonable price.If you are a popular woman,do not miss it.&lt;/p&gt;


	&lt;p&gt;Technical details of Christian Louboutin Velours Scrunch Suede Boots Coffee:&lt;/p&gt;


	&lt;pre&gt;&lt;code&gt;Color: Coffee
Material: Suede
4(100mm) heel
Signature red sole x&lt;/code&gt;&lt;/pre&gt;


	&lt;p&gt;Fashion, delicate, luxurious Christian louboutins shoes on sale, one of its series is Christian Louboutin Tall Boots, is urbanism collocation. This Christian louboutins shoes design makes people new and refreshing. Red soles shoes is personality, your charm will be wonderful performance.&lt;/p&gt;</description>
      <pubDate>Thu, 03 Nov 2011 10:52:54 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:aef27e12-0aa8-4220-a56b-70bccc1dc512</guid>
      <link>http://blog.objectmentor.com/articles/2008/02/25/writing-java-aspects-with-jruby-and-aquarium#comment-167692</link>
    </item>
    <item>
      <title>"Writing Java Aspects ... with JRuby and Aquarium!" by Tips For Bowling</title>
      <description>&lt;p&gt;I thought Star Wars was too wacky for the general public.&lt;/p&gt;</description>
      <pubDate>Thu, 20 Oct 2011 15:42:02 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:6ebacc3f-06a7-42d7-9e43-c0ac8456cdd6</guid>
      <link>http://blog.objectmentor.com/articles/2008/02/25/writing-java-aspects-with-jruby-and-aquarium#comment-160276</link>
    </item>
    <item>
      <title>"Writing Java Aspects ... with JRuby and Aquarium!" by heartburn</title>
      <description>&lt;p&gt;This is a echt couth foreclose for me, Unoriginality cultivated that you are one of the jaunty blogger I e&amp;#8217;er saw.Thanks for visor this consultatory add.&lt;/p&gt;</description>
      <pubDate>Sat, 24 Sep 2011 07:37:25 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:c5e9db04-cb8a-40e0-aa72-314930b6fbc0</guid>
      <link>http://blog.objectmentor.com/articles/2008/02/25/writing-java-aspects-with-jruby-and-aquarium#comment-145077</link>
    </item>
    <item>
      <title>"Writing Java Aspects ... with JRuby and Aquarium!" by beats by dre store</title>
      <description>&lt;p&gt;rare metal. Any rare metal pendant and also a ring produces a great products on your mum, along with presents that are generally unnoticed .&lt;a href="http://www.drdrebeatsheadphones-australia.com" rel="nofollow"&gt;high quality headphones&lt;/a&gt;
&lt;a href="http://www.drdrebeatsheadphones-australia.com" rel="nofollow"&gt;new design headphones&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Tue, 23 Aug 2011 03:06:53 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:b6cab4d7-baa8-422f-8ef8-539f5da61473</guid>
      <link>http://blog.objectmentor.com/articles/2008/02/25/writing-java-aspects-with-jruby-and-aquarium#comment-131651</link>
    </item>
    <item>
      <title>"Writing Java Aspects ... with JRuby and Aquarium!" by Cookies Gift</title>
      <description>&lt;p&gt;it needs a bokmark so i can come back to it later ,nice stuff&lt;/p&gt;</description>
      <pubDate>Sun, 19 Jun 2011 11:09:56 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:16b3a9a3-a6c2-4e1b-85f7-4146d9ef022a</guid>
      <link>http://blog.objectmentor.com/articles/2008/02/25/writing-java-aspects-with-jruby-and-aquarium#comment-112440</link>
    </item>
    <item>
      <title>"Writing Java Aspects ... with JRuby and Aquarium!" by beats by dr dre headphones</title>
      <description>&lt;p&gt;The article has been finished.&lt;/p&gt;</description>
      <pubDate>Sat, 04 Jun 2011 00:04:52 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:fdb4268a-211d-4468-b840-7effba4c9e2e</guid>
      <link>http://blog.objectmentor.com/articles/2008/02/25/writing-java-aspects-with-jruby-and-aquarium#comment-107905</link>
    </item>
    <item>
      <title>"Writing Java Aspects ... with JRuby and Aquarium!" by christian louboutin shoes on sale</title>
      <description>&lt;p&gt;These &lt;a href="http://www.blacklouboutinshoes.com/pumps-c-2.html" rel="nofollow"&gt;christian louboutin patent leather pumps&lt;/a&gt; are just the same as selling in the franchise store.Or even better.
Quite cheap &lt;a href="http://www.blacklouboutinshoes.com/platforms-c-3.html" rel="nofollow"&gt;christian louboutin leather platform pumps&lt;/a&gt;.I could say this is the best one I have ever ordered online.&lt;/p&gt;</description>
      <pubDate>Fri, 03 Jun 2011 08:40:11 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:ae5cf517-4ccf-4913-833e-8c9db57be591</guid>
      <link>http://blog.objectmentor.com/articles/2008/02/25/writing-java-aspects-with-jruby-and-aquarium#comment-107739</link>
    </item>
    <item>
      <title>"Writing Java Aspects ... with JRuby and Aquarium!" by canada goose jackets</title>
      <description>&lt;p&gt;You&amp;#8217;re in the comm, therefore you participated!!&lt;/p&gt;</description>
      <pubDate>Wed, 18 May 2011 23:20:54 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:dc9907aa-4110-4ca6-bd3e-784155e28820</guid>
      <link>http://blog.objectmentor.com/articles/2008/02/25/writing-java-aspects-with-jruby-and-aquarium#comment-101538</link>
    </item>
    <item>
      <title>"Writing Java Aspects ... with JRuby and Aquarium!" by okey oyunu oyna </title>
      <description>&lt;p&gt;thanks for post i can be use it&amp;#8230;&lt;/p&gt;


	&lt;p&gt;internette g&#246;r&#252;nt&#252;l&#252; olarak &lt;a href="http://www.okeyoyunu-oyna.com" rel="nofollow"&gt;okey oyunu oyna&lt;/a&gt;, ger&#231;ek kisilerle tanis,
 turnuva heyecanini yasa.&lt;/p&gt;</description>
      <pubDate>Wed, 27 Apr 2011 12:38:03 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:a4a4e6cd-3afb-47a4-952c-6a60b0d67cbe</guid>
      <link>http://blog.objectmentor.com/articles/2008/02/25/writing-java-aspects-with-jruby-and-aquarium#comment-91837</link>
    </item>
    <item>
      <title>"Writing Java Aspects ... with JRuby and Aquarium!" by website development</title>
      <description>&lt;p&gt;AspectJ enables the clean modularization of crosscutting&lt;/p&gt;</description>
      <pubDate>Sun, 17 Apr 2011 15:59:44 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:85680b9f-b6fc-4b8b-9006-b8a11fa0bc80</guid>
      <link>http://blog.objectmentor.com/articles/2008/02/25/writing-java-aspects-with-jruby-and-aquarium#comment-85910</link>
    </item>
    <item>
      <title>"Writing Java Aspects ... with JRuby and Aquarium!" by laptop accessories</title>
      <description>&lt;p&gt;JAY Follow &lt;a href="http://www.sagi2t.com/" rel="nofollow"&gt;laptop accessories&lt;/a&gt;  the detail tips below, you can increase the laptop battery life of a year or more. 1. The &lt;a href="http://www.diversitydefineit.com/" rel="nofollow"&gt;laptop battery&lt;/a&gt; first thing you should care about the&lt;/p&gt;</description>
      <pubDate>Mon, 28 Feb 2011 01:19:20 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:72584964-40ac-45b4-9369-8ee9c78421db</guid>
      <link>http://blog.objectmentor.com/articles/2008/02/25/writing-java-aspects-with-jruby-and-aquarium#comment-67151</link>
    </item>
    <item>
      <title>"Writing Java Aspects ... with JRuby and Aquarium!" by Silicone Molding</title>
      <description>&lt;p&gt;Intertech Machinery Inc. provides the most precise &lt;a href="http://www.taiwanmoldmaker.com/service-plastic-injection-mold.html" rel="nofollow"&gt;Plastic Injection Mold&lt;/a&gt; and
&lt;a href="http://www.taiwanmoldmaker.com/service-rubber-molds.html" rel="nofollow"&gt;Rubber Molds&lt;/a&gt; from Taiwan.  With applying excellent unscrewing device in molds,  
Intertech is also very professional for making flip top &lt;a href="http://www.taiwanmoldmaker.com/service-cap-mold.html" rel="nofollow"&gt;Cap Molds&lt;/a&gt; in the world.&lt;/p&gt;</description>
      <pubDate>Mon, 03 Jan 2011 21:25:30 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:988975d3-cc84-4734-9f78-d7b57e2e2766</guid>
      <link>http://blog.objectmentor.com/articles/2008/02/25/writing-java-aspects-with-jruby-and-aquarium#comment-53936</link>
    </item>
    <item>
      <title>"Writing Java Aspects ... with JRuby and Aquarium!" by pandora </title>
      <description>&lt;p&gt;An important feature about getting on the internet is you&amp;#8217;re able to notice something the particular gifts, whereby a shop it is usually challenging sort even so her or his inventory to uncover what&amp;#8217;s right. Mothers really like products which can be unique. Attempt to existing your own mum by using a surprise that&amp;#8217;s personalized, as an case in point a wedding ring utilizing their title imprinted inside. Precious metal jewelry lead to excellent gifts given that they immortalize your currenttitle inside rare metal. Any rare metal pendant and also a ring produces a great products on your mum, along with presents that are generally unnoticed .&lt;/p&gt;</description>
      <pubDate>Sat, 11 Dec 2010 01:35:32 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:d898543e-c7b0-463d-9af9-326ea00a6d13</guid>
      <link>http://blog.objectmentor.com/articles/2008/02/25/writing-java-aspects-with-jruby-and-aquarium#comment-48172</link>
    </item>
    <item>
      <title>"Writing Java Aspects ... with JRuby and Aquarium!" by Pandora </title>
      <description>&lt;p&gt;This looks a lot like the way &#8220;good&#8221; inheritance should behave.&lt;/p&gt;</description>
      <pubDate>Thu, 02 Dec 2010 02:49:59 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:0e8662c3-6337-4bd8-a767-a1bf2ccc3631</guid>
      <link>http://blog.objectmentor.com/articles/2008/02/25/writing-java-aspects-with-jruby-and-aquarium#comment-45332</link>
    </item>
    <item>
      <title>"Writing Java Aspects ... with JRuby and Aquarium!" by bag manufacturer</title>
      <description>&lt;p&gt;liably under JRuby (V1.1RC2), but you can now write aspects for Java types w&lt;/p&gt;</description>
      <pubDate>Sun, 12 Sep 2010 22:21:05 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:88f8a426-598d-4682-b67b-752121b0edfd</guid>
      <link>http://blog.objectmentor.com/articles/2008/02/25/writing-java-aspects-with-jruby-and-aquarium#comment-26069</link>
    </item>
    <item>
      <title>"Writing Java Aspects ... with JRuby and Aquarium!" by FLV extractor</title>
      <description>&lt;p&gt;some body is de ssse&lt;/p&gt;</description>
      <pubDate>Thu, 08 Apr 2010 01:30:43 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:776eb67f-45bd-4639-8637-ca580d6acd97</guid>
      <link>http://blog.objectmentor.com/articles/2008/02/25/writing-java-aspects-with-jruby-and-aquarium#comment-9356</link>
    </item>
    <item>
      <title>"Writing Java Aspects ... with JRuby and Aquarium!" by James Carr</title>
      <description>&lt;p&gt;Guess what&amp;#8217;s going on my laptop once I get it back with a new hard drive? It&amp;#8217;ll really be interesting to see what craziness I&amp;#8217;ll cook up with this. ;)&lt;/p&gt;


	&lt;p&gt;Useful!&lt;/p&gt;</description>
      <pubDate>Wed, 27 Feb 2008 01:42:42 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:86d2c96e-fee2-4f0d-8c50-100430ffd2d3</guid>
      <link>http://blog.objectmentor.com/articles/2008/02/25/writing-java-aspects-with-jruby-and-aquarium#comment-1620</link>
    </item>
    <item>
      <title>"Writing Java Aspects ... with JRuby and Aquarium!" by AJit</title>
      <description>&lt;p&gt;You sold aquarium to me. I am quite convinced of its benefits. Hehe. I should try it sometime soon.&lt;/p&gt;</description>
      <pubDate>Tue, 26 Feb 2008 06:57:57 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:c8eda8ae-b56a-4140-8455-9cb7906e8b6c</guid>
      <link>http://blog.objectmentor.com/articles/2008/02/25/writing-java-aspects-with-jruby-and-aquarium#comment-1619</link>
    </item>
  </channel>
</rss>

