<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>betweenGo</title>
	<atom:link href="http://betweengo.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://betweengo.com</link>
	<description>We make Ruby on Rails easy.  We make ATG easy.</description>
	<pubDate>Tue, 22 Jul 2008 23:28:43 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
	<language>en</language>
			<item>
		<title>Twitter and Rails</title>
		<link>http://betweengo.com/ruby-on-rails/2008/07/22/twitter-and-rails/</link>
		<comments>http://betweengo.com/ruby-on-rails/2008/07/22/twitter-and-rails/#comments</comments>
		<pubDate>Tue, 22 Jul 2008 23:22:09 +0000</pubDate>
		<dc:creator>Frank Kim</dc:creator>
		
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://betweengo.com/?p=235</guid>
		<description><![CDATA[Twitter has become the poster child of why not to use Ruby on Rails.  Recently a friend of mine started a company and when I noticed he used PHP I asked why he didn&#8217;t use Rails.  He responded &#8220;Twitter uses Rails and they keep going down.  Facebook uses PHP.  We&#8217;ll use PHP.&#8221;
There is an interesting [...]]]></description>
			<content:encoded><![CDATA[<p>Twitter has become the poster child of why not to use Ruby on Rails.  Recently a friend of mine started a company and when I noticed he used PHP I asked why he didn&#8217;t use Rails.  He responded &#8220;Twitter uses Rails and they keep going down.  Facebook uses PHP.  We&#8217;ll use PHP.&#8221;</p>
<p>There is an interesting <a title="5 Question Interview with Twitter Developer Alex Payne" href="http://www.radicalbehavior.com/5-question-interview-with-twitter-developer-alex-payne/">interview</a> w/ Twitter developer Alex Payne about the issues Twitter has had with Ruby on Rails.</p>
<blockquote><p>The common wisdom in the Rails community at this time is that scaling Rails is a matter of cost: just throw more CPUs at it.  The problem is that more instances of Rails (running as part of a Mongrel cluster, in our case) means more requests to your database.  At this point in time there’s no facility in Rails to talk to more than one database at a time.  The solutions to this are caching the hell out of everything and setting up multiple read-only slave databases..</p>
<p>All the convenience methods and syntactical sugar that makes Rails such a pleasure for coders ends up being absolutely punishing, performance-wise.  Once you hit a certain threshold of<br />
traffic, either you need to strip out all the costly neat stuff that Rails does for you (RJS, ActiveRecord, ActiveSupport, etc.) or move the slow parts of your application out of Rails, or both.</p>
<p>It’s also worth mentioning that there shouldn’t be doubt in anybody’s mind at this point that Ruby itself is slow.  It’s great that people are hard at work on faster implementations of the language, but right now, it’s tough.  If you’re looking to deploy a big web application and you’re language-agnostic, realize that the same operation in Ruby will take less time in Python.  All of us working on Twitter are big Ruby fans, but I think it’s worth being frank that this isn’t one of those relativistic language issues.  Ruby is slow.</p></blockquote>
<p>In April 2007, <a title="Amateur Hour Over At Twitter?" href="http://www.techcrunch.com/2008/04/23/amateur-hour-over-at-twitter/">former</a> Chief Architect Blaine Cook made a presentation called <a title="Scaling Twitter" href="http://www.slideshare.net/Blaine/scaling-twitter">Scaling Twitter</a>.  It&#8217;s a well done presentation, even if everything is black.</p>
<p>In May 2008 there were rumors that <a title="Twitter Said To Be Abandoning Ruby on Rails" href="http://www.techcrunch.com/2008/05/01/twitter-said-to-be-abandoning-ruby-on-rails/">Twitter was abandoning Rails</a>.  SitePoints believes it is not a framework issue but rather an <a title="Did Rails Sink Twitter?" href="http://www.sitepoint.com/blogs/2008/06/06/did-rails-sink-twitter/">architectural issue</a> that is causing Twitter&#8217;s problems.</p>
<p>There are many large sites that run Rails well and many smaller ones that do not.  It seems like another case of the &#8220;leaky abstraction&#8221; where we have such a nice framework that we think we can abstract away issues like scaling but in the end when the site becomes big enough we have to look under the covers.</p>
<p>Ruby has been documented to have <a title="You Used Ruby to Write WHAT?!" href="http://betweengo.com/ruby-on-rails/2008/03/13/you-used-ruby-to-write-what/">I/O issues and general performance issues</a>.  Like PHP before it looks like Ruby needs to mature more and deal better with scaling and I/O issues.  I am confident though this will happen because of the tremendous momentum of Ruby on Rails.  However I am keeping on eye on <a title="Django" href="http://www.djangoproject.com/">Django</a>, especially now that Google has thrown its large hat into Django&#8217;s ring.</p>
]]></content:encoded>
			<wfw:commentRss>http://betweengo.com/ruby-on-rails/2008/07/22/twitter-and-rails/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Fixing IllegalArgumentException in ACC</title>
		<link>http://betweengo.com/atg/acc/2008/07/22/fixing-illegalargumentexception-in-acc/</link>
		<comments>http://betweengo.com/atg/acc/2008/07/22/fixing-illegalargumentexception-in-acc/#comments</comments>
		<pubDate>Tue, 22 Jul 2008 19:06:26 +0000</pubDate>
		<dc:creator>Frank Kim</dc:creator>
		
		<category><![CDATA[ACC]]></category>

		<category><![CDATA[Repository]]></category>

		<guid isPermaLink="false">http://betweengo.com/?p=221</guid>
		<description><![CDATA[Recently I was unable to create an item using the ACC because of an IllegalArgumentException.

java.lang.IllegalArgumentException:  Attempt to set
property named view (ContentList:800007)  with value =
moduleTemplate:2200004 (class=class atg.adapter.gsa.GSAItem).
This property  failed due to a property type specific test.
Enable loggingDebug for  details.

It turned out to be a simple issue of the wrong case.  The repository [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I was unable to create an item using the ACC because of an IllegalArgumentException.</p>
<blockquote>
<pre>java.lang.IllegalArgumentException:  Attempt to set
property named view (ContentList:800007)  with value =
moduleTemplate:2200004 (class=class atg.adapter.gsa.GSAItem).
This property  failed due to a property type specific test.
Enable loggingDebug for  details.</pre>
</blockquote>
<p>It turned out to be a simple issue of the wrong case.  The repository path for the ContentList view item was:</p>
<blockquote><pre>/Betweengo/repository/Portal</pre>
</blockquote>
<p> when it should have been<br />
<blockquote>
<pre>/betweengo/repository/Portal.</pre>
</blockquote>
<p>  This is certainly not obvious from the exception.</p>
]]></content:encoded>
			<wfw:commentRss>http://betweengo.com/atg/acc/2008/07/22/fixing-illegalargumentexception-in-acc/feed/</wfw:commentRss>
		</item>
		<item>
		<title>TargetingRange ignoring start param</title>
		<link>http://betweengo.com/atg/page-development/2008/07/21/targetingrange-ignoring-start-param/</link>
		<comments>http://betweengo.com/atg/page-development/2008/07/21/targetingrange-ignoring-start-param/#comments</comments>
		<pubDate>Mon, 21 Jul 2008 23:58:46 +0000</pubDate>
		<dc:creator>Frank Kim</dc:creator>
		
		<category><![CDATA[Page Development]]></category>

		<guid isPermaLink="false">http://betweengo.com/?p=218</guid>
		<description><![CDATA[We were using the TargetingRange droplet to display a number of slides, starting with the 2nd slide.  We would never show more than 9 slides so we set howMany to 9.
What we found was that the TargetingRange droplet was always returning all the slides, including the first slide, no matter what we set for start.
Fortunately [...]]]></description>
			<content:encoded><![CDATA[<p>We were using the TargetingRange droplet to display a number of slides, starting with the 2nd slide.  We would never show more than 9 slides so we set howMany to 9.</p>
<p>What we found was that the TargetingRange droplet was always returning all the slides, including the first slide, no matter what we set for start.</p>
<p>Fortunately ATG support identified this problem as <a title="Bug #84551 - TargetingRange droplet problem if howMany param &gt; number of targets returned" href="https://www.atg.com/esupport/bugs/?FullViewBug=ViewBug&amp;bugId=84551&amp;_requestid=1448599&amp;_requestid=1459761">Bug #84551</a>.  If the <span class="bodyTitle">howMany param &gt; number of targets returned then it ignores the start position parameter.</span></p>
<p>The work around is to make sure to set the howMany parameter to the number of items you expect.</p>
]]></content:encoded>
			<wfw:commentRss>http://betweengo.com/atg/page-development/2008/07/21/targetingrange-ignoring-start-param/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Sun&#8217;s VirtualBox</title>
		<link>http://betweengo.com/uncategorized/2008/07/19/virtualbox/</link>
		<comments>http://betweengo.com/uncategorized/2008/07/19/virtualbox/#comments</comments>
		<pubDate>Sat, 19 Jul 2008 19:16:10 +0000</pubDate>
		<dc:creator>Frank Kim</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://betweengo.com/?p=216</guid>
		<description><![CDATA[Macworld has a column, A look at Sun’s VirtualBox, with a video about installing and using VirtualBox on a Mac.  I think it is exciting that a free open source solution like VirtualBox can be used to run Windows on top of Mac OS X (though in this video it was used for running OpenSolaris).  [...]]]></description>
			<content:encoded><![CDATA[<p>Macworld has a column, <a title="Macworld | A look at Sun’s VirtualBox" href="http://www.macworld.com/article/134584/2008/07/mwvodcast59.html?t=201">A look at Sun’s VirtualBox</a>, with a video about installing and using VirtualBox on a Mac.  I think it is exciting that a free open source solution like <a title="VirtualBox" href="http://www.virtualbox.org/">VirtualBox</a> can be used to run Windows on top of Mac OS X (though in this video it was used for running OpenSolaris).  One has to believe this is a big issue for Parallels and Fusion.</p>
]]></content:encoded>
			<wfw:commentRss>http://betweengo.com/uncategorized/2008/07/19/virtualbox/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Maintaining your Mac</title>
		<link>http://betweengo.com/mac/2008/07/19/maintaining-your-mac/</link>
		<comments>http://betweengo.com/mac/2008/07/19/maintaining-your-mac/#comments</comments>
		<pubDate>Sat, 19 Jul 2008 19:08:45 +0000</pubDate>
		<dc:creator>Frank Kim</dc:creator>
		
		<category><![CDATA[Mac]]></category>

		<guid isPermaLink="false">http://betweengo.com/?p=214</guid>
		<description><![CDATA[Macworld has a series of articles that I found helpful on maintaining your mac.

Essential Mac Maintenance: Get set up
Perhaps the most important component to test is RAM&#8230;  Thankfully, it’s not difficult to do so, although a comprehensive test can take a while. Apple Hardware Test, included on the Mac OS X Install disc that comes [...]]]></description>
			<content:encoded><![CDATA[<p>Macworld has a series of articles that I found helpful on maintaining your mac.</p>
<ol>
<li><a title="Macworld | Essential Mac Maintenance: Get Set Up" href="http://www.macworld.com/article/133671/2008/06/macmaintenance1.html?t=111">Essential Mac Maintenance: Get set up</a><br />
<blockquote><p>Perhaps the most important component to test is RAM&#8230;  Thankfully, it’s not difficult to do so, although a comprehensive test can take a while. Apple Hardware Test, included on the Mac OS X Install disc that comes with all recent Macs, has an Extended Testing option that tests your RAM.</p></blockquote>
</li>
<li><a title="Macworld | Essential Mac Maintenance: Rev Up Your Routines" href="http://www.macworld.com/article/133730/2008/06/maintenance_routines.html?t=111">Essential Mac Maintenance: Rev Up Your Routines<br />
</a></li>
<li><a title="Macworld | Five Maintenance Myths" href="http://www.macworld.com/article/133684/2008/06/maintenance_intro.html">Five Maintenance Myths</a><br />
<blockquote><p><strong>Myth #2: “You need to run the Unix maintenance scripts.”</strong><br />
You may have heard about a collection of magical Unix maintenance scripts that OS X is supposed to run automatically. The story goes that because these scripts are scheduled to run in the middle of the night, putting your Mac to sleep or shutting it down prevents them from running—so you need to do so manually&#8230;</p>
<p>An easy way to run the scripts manually is by using Mike Vande Ven Jr.’s free <a title="Maintidget" href="http://www.giantmike.com/widgets/Maintidget.html" target="_blank">Maintidget 1.3</a>, a Dashboard widget that shows you the last time each script was run and lets you manually run one or all with a single click. There are also innumerable <a title="Macworld | Tweaking Utilities" href="http://www.macworld.com/article/50058/2006/03/tweakingutilities.html">tweaking utilities</a> that provide similar functionality</p></blockquote>
</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://betweengo.com/mac/2008/07/19/maintaining-your-mac/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Eclipse Ganymede</title>
		<link>http://betweengo.com/eclipse/2008/07/18/eclipse-ganymede/</link>
		<comments>http://betweengo.com/eclipse/2008/07/18/eclipse-ganymede/#comments</comments>
		<pubDate>Fri, 18 Jul 2008 23:22:24 +0000</pubDate>
		<dc:creator>Frank Kim</dc:creator>
		
		<category><![CDATA[Eclipse]]></category>

		<guid isPermaLink="false">http://betweengo.com/?p=212</guid>
		<description><![CDATA[I was about to write a post about how much I was starting to dislike Eclipse.  Two years ago I was singing the praises of Eclipse but Eclipse Europa (version 3.3) in my opinion has been a disaster.  It is incredibly slow, crashes often, runs out of memory, etc.  I found myself [...]]]></description>
			<content:encoded><![CDATA[<p>I was about to write a post about how much I was starting to dislike Eclipse.  Two years ago I was singing the praises of Eclipse but Eclipse Europa (version 3.3) in my opinion has been a disaster.  It is incredibly slow, crashes often, runs out of memory, etc.  I found myself at times using XEmacs instead because it was faster.</p>
<p>But today I installed <a title="Eclipse Ganymede Release" href="http://www.eclipse.org/ganymede/">Eclipse Ganymede (version 3.4)</a> and so far life has been much better.  It is much more responsive, it is not crashing, things are running smoothly.   You can read about what is <a title="Eclipse 3.4 - New and Noteworthy" href="http://download.eclipse.org/eclipse/downloads/drops/R-3.4-200806172000/whatsnew3.4/eclipse-news.html">New and Noteworthy</a> in Ganymede.  The most exciting new feature to me is the <a title="Eclipse 3.4 - New and Noteworthy - Retain case of match when replacing" href="http://download.eclipse.org/eclipse/downloads/drops/R-3.4-200806172000/whatsnew3.4/eclipse-news-part1.html#retainCase">Retain case of match when replacing</a>, just like XEmacs.</p>
<p>Also I noticed that in my JBoss project, hot swapping of code is again working.  I am not sure if this is because I upgraded to Ganymede or because I turned on &#8220;Build Automatically&#8221;.  I suspect it might be the latter.</p>
]]></content:encoded>
			<wfw:commentRss>http://betweengo.com/eclipse/2008/07/18/eclipse-ganymede/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Maven Integration for Eclipse</title>
		<link>http://betweengo.com/eclipse/2008/07/18/maven-integration-for-eclipse/</link>
		<comments>http://betweengo.com/eclipse/2008/07/18/maven-integration-for-eclipse/#comments</comments>
		<pubDate>Fri, 18 Jul 2008 15:50:18 +0000</pubDate>
		<dc:creator>Frank Kim</dc:creator>
		
		<category><![CDATA[Eclipse]]></category>

		<category><![CDATA[Maven]]></category>

		<guid isPermaLink="false">http://betweengo.com/?p=211</guid>
		<description><![CDATA[Previously I was using an old Maven integration for Eclipse, version 0.0.11, which I got from http://m2eclipse.codehaus.org/update.  The plugin was horribly slow and seemed to sometimes interfere with my builds.
Today I upgraded to the latest, version 0.9.4, from http://m2eclipse.sonatype.org/update/ and things are moving much more smoothly.  You can learn more at Maven Integration for Eclipse.
Now [...]]]></description>
			<content:encoded><![CDATA[<p>Previously I was using an old Maven integration for Eclipse, version 0.0.11, which I got from <a title="http://m2eclipse.codehaus.org/update/" href="http://m2eclipse.codehaus.org/update/">http://m2eclipse.codehaus.org/update</a>.  The plugin was horribly slow and seemed to sometimes interfere with my builds.</p>
<p>Today I upgraded to the latest, version 0.9.4, from <a title="http://m2eclipse.sonatype.org/update/" href="http://m2eclipse.sonatype.org/update/">http://m2eclipse.sonatype.org/update/</a> and things are moving much more smoothly.  You can learn more at <a title="Maven Integration for Eclipse" href="http://m2eclipse.codehaus.org/">Maven Integration for Eclipse</a>.</p>
<p>Now if someone would improve the Perforce plugin&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://betweengo.com/eclipse/2008/07/18/maven-integration-for-eclipse/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Jumping to different parts of a page using a dropdown</title>
		<link>http://betweengo.com/atg/page-development/2008/07/17/jumping-within-page-from-dropdown/</link>
		<comments>http://betweengo.com/atg/page-development/2008/07/17/jumping-within-page-from-dropdown/#comments</comments>
		<pubDate>Thu, 17 Jul 2008 19:17:17 +0000</pubDate>
		<dc:creator>Frank Kim</dc:creator>
		
		<category><![CDATA[JavaScript]]></category>

		<category><![CDATA[Page Development]]></category>

		<guid isPermaLink="false">http://betweengo.com/?p=210</guid>
		<description><![CDATA[It is relatively simple to dynamically create a dropdown from which you can jump to different parts of a page using JavaScript and ATG DSPEL.
First create the dropdown.
&#60;form name="jumpTo" action="."&#62;
  &#60;dspel:droplet name="/atg/dynamo/droplet/ForEach"&#62;
    &#60;dspel:param name="array" param="categories"/&#62;
    &#60;dspel:setvalue param="category" paramvalue="element"/&#62;
    &#60;dspel:oparam name="outputStart"&#62;
      [...]]]></description>
			<content:encoded><![CDATA[<p>It is relatively simple to dynamically create a dropdown from which you can jump to different parts of a page using JavaScript and ATG DSPEL.</p>
<p>First create the dropdown.</p>
<pre>&lt;form name="jumpTo" action="."&gt;
  &lt;dspel:droplet name="/atg/dynamo/droplet/ForEach"&gt;
    &lt;dspel:param name="array" param="categories"/&gt;
    &lt;dspel:setvalue param="category" paramvalue="element"/&gt;
    &lt;dspel:oparam name="outputStart"&gt;
      &lt;select name="names"&gt;
    &lt;/dspel:oparam&gt;
    &lt;dspel:oparam name="output"&gt;
      &lt;dspel:getvalueof id="index" param="index"/&gt;
      &lt;c:set var="catShortName" value="cat${index}"/&gt;
      &lt;option value="&lt;c:out value="${catShortName}"/&gt;"&gt;
        &lt;dspel:valueof param="category.name"/&gt;
      &lt;/option&gt;
    &lt;/dspel:oparam&gt;
    &lt;dspel:oparam name="outputEnd"&gt;
      &lt;/select&gt;
    &lt;/dspel:oparam&gt;
  &lt;/dspel:droplet&gt;
&lt;/form&gt;</pre>
<p>Next create the button <em>outside</em> of the form for jumping to different parts of the page.  I learned about the window.location.hash from this <a title="BRADINO  » Jump to Location Within Page" href="http://www.bradino.com/javascript/jump-to-location-within-page/">article</a>.  And I learned about how to access the selected value from the dropdown from this <a title="JavaScript Drop Down Boxes" href="http://www.pageresource.com/jscript/jdropbox.htm">article</a>.</p>
<pre> &lt;input type="image" src="/img/buttons/update.gif"
   onClick="window.location.hash=
document.jumpTo.names.options[document.jumpTo.names.selectedIndex].value"&gt;</pre>
<p>Finally you create the name anchors throughout your document.</p>
<pre>&lt;dspel:droplet name="/atg/dynamo/droplet/ForEach"&gt;
  &lt;dspel:param name="array" param="categories"/&gt;
  &lt;dspel:setvalue param="category" paramvalue="element"/&gt;
  &lt;dspel:oparam name="output"&gt;

    &lt;%-- magazine category --%&gt;
    &lt;dspel:getvalueof id="index" param="index"/&gt;
    &lt;c:set var="catShortName" value="cat${index}"/&gt;
    &lt;a name="&lt;c:out value="${catShortName}"/&gt;"
       id="&lt;c:out value="${catShortName}"/&gt;"&gt;
      &lt;dspel:valueof param="category.name"/&gt;
    &lt;/a&gt;

  &lt;/dspel:oparam&gt;
&lt;/dspel:droplet&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://betweengo.com/atg/page-development/2008/07/17/jumping-within-page-from-dropdown/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Gmail, SPF, and Broken Email Forwarding?</title>
		<link>http://betweengo.com/web/2008/07/11/gmail-spf-and-broken-email-forwarding/</link>
		<comments>http://betweengo.com/web/2008/07/11/gmail-spf-and-broken-email-forwarding/#comments</comments>
		<pubDate>Fri, 11 Jul 2008 11:44:15 +0000</pubDate>
		<dc:creator>Frank Kim</dc:creator>
		
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://betweengo.com/?p=209</guid>
		<description><![CDATA[I read this article on Slashdot, Gmail, SPF, and Broken Email Forwarding?, which explains how email forwarding to Gmail and possibly other service providers may sometimes silently fail.
Background: Like many people, I have me@mydomain.com as my public facing Email address. When Email comes into my server, I forward it to me@gmail.com. But since my friend [...]]]></description>
			<content:encoded><![CDATA[<p>I read this article on Slashdot, <a href="http://ask.slashdot.org/article.pl?sid=08/07/10/192240">Gmail, SPF, and Broken Email Forwarding?</a>, which explains how email forwarding to Gmail and possibly other service providers may sometimes silently fail.</p>
<blockquote><p>Background: Like many people, I have me@mydomain.com as my public facing Email address. When Email comes into my server, I forward it to me@gmail.com. But since my friend has published SPF (Sender Policy Framework) records that say only his server is allowed to send Emails for friend@frienddomain.com, gmail apparently rejects (silently buries actually!) the Email since it is forwarding through my server. Please note that this is exactly what SPF is designed to prevent — spammers from sending Emails with your address — but it breaks forwarding and has other problems.</p></blockquote>
<p>I also do what the author above talks about, i.e. I forward the email for my various domains to my various Gmail accounts.  Hopefully this is not an issue, that no one who emails directly to my domain email addresses is using SPF.</p>
<p>One proposed solution by a Slashdot poster makes sense, use Google apps.  Fortunately this is available for free on <a title="Dreamhost" href="http://www.dreamhost.com/r.cgi?103452">Dreamhost</a>, my web host, and is easy to set up.  I might try it later.</p>
<blockquote><p>Is there another solution?</p>
<p>Yes, of course. Have all your email sent to Google in the first place! You don&#8217;t have to switch everything over to the Google app tool, you can just set MX records for your domain pointing to them, and collect it all (or forward it inside or outside Google.) It&#8217;s free (with a paid version available.) Check it out here <a title="Google Apps - Smart apps for email, documents, sites and more" href="http://www.google.com/a/help/intl/en/index.html">Smart apps for email, documents, sites and more</a></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://betweengo.com/web/2008/07/11/gmail-spf-and-broken-email-forwarding/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Enabling Trace Level Debugging in JBoss</title>
		<link>http://betweengo.com/apache/logging/2008/07/05/enabling-trace-level-debugging-in-jboss/</link>
		<comments>http://betweengo.com/apache/logging/2008/07/05/enabling-trace-level-debugging-in-jboss/#comments</comments>
		<pubDate>Sat, 05 Jul 2008 20:34:21 +0000</pubDate>
		<dc:creator>Frank Kim</dc:creator>
		
		<category><![CDATA[Logging]]></category>

		<category><![CDATA[jboss]]></category>

		<guid isPermaLink="false">http://betweengo.com/?p=208</guid>
		<description><![CDATA[In JBoss 4.0.4.GA it took me awhile to figure out how to enable trace level debugging.
Typically you could do something like this to enable trace level debugging for a category of classes.
&#60;category  name="com.betweengo.app"&#62;
  &#60;priority  value="TRACE"/&#62;
&#60;/category&#62;
However JBoss 4.0.4.GA has an older log4j implementation so you need to use JBoss&#8217;s custom TRACE level.
&#60;category  [...]]]></description>
			<content:encoded><![CDATA[<p>In JBoss 4.0.4.GA it took me awhile to figure out how to enable trace level debugging.</p>
<p>Typically you could do something like this to enable trace level debugging for a category of classes.</p>
<pre>&lt;category  name="com.betweengo.app"&gt;
  &lt;priority  value="TRACE"/&gt;
&lt;/category&gt;</pre>
<p>However JBoss 4.0.4.GA has an older log4j implementation so you need to use JBoss&#8217;s custom TRACE level.</p>
<pre>&lt;category  name="com.betweengo.app"&gt;
  &lt;priority  value="TRACE" class="org.jboss.logging.XLevel"/&gt;
&lt;/category&gt;</pre>
<p>This is documented in the release notes for JBoss-4.2.1.GA.</p>
<blockquote><p>Since the latest log4j includes a trace level, there is no need to reference the custom jboss TRACE level in conf/jboss-log4j.xml configs, JBAS-4163.</p></blockquote>
<p>There is additional information on trace level debugging in the articles <a title="JBossWiki : JBossMessagingUser_Enabling_TRACE_logging_on_server" href="http://wiki.jboss.org/wiki/JBossMessagingUser_Enabling_TRACE_logging_on_server">Enabling TRACE logging on server </a>and <a title="JBoss.com - logging" href="http://www.jboss.com/developers/guides/logging">Using Logging</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://betweengo.com/apache/logging/2008/07/05/enabling-trace-level-debugging-in-jboss/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
