<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>A Day At The Races &#187; spy</title>
	<atom:link href="http://blog.jetztgrad.net/category/spy/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.jetztgrad.net</link>
	<description>Programming was my first love, and it will be my last.</description>
	<lastBuildDate>Thu, 05 May 2011 08:21:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Released Grails Spy plugin 0.2</title>
		<link>http://blog.jetztgrad.net/2010/07/released-grails-spy-plugin-0-2/</link>
		<comments>http://blog.jetztgrad.net/2010/07/released-grails-spy-plugin-0-2/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 21:50:40 +0000</pubDate>
		<dc:creator>Wolfgang Schell</dc:creator>
				<category><![CDATA[grails]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[spy]]></category>

		<guid isPermaLink="false">http://blog.jetztgrad.net/?p=225</guid>
		<description><![CDATA[I just released version 0.2 of my Grails Spy plugin. About The Grails Spy plugin provides some views to inspect Grails internals such as the Spring application context(s), artefacts, etc. As most of the beans of the Grails WebApplicationContext are constructed at runtime with the help of a BeanBuilder, there is no Spring xml file [...]]]></description>
			<content:encoded><![CDATA[<p>I just released version 0.2 of my <a href="http://grails.org">Grails</a> <a href="http://grails.org/plugin/spy">Spy plugin</a>.</p>
<p><b>About</b></p>
<p>The Grails Spy plugin provides some views to inspect Grails internals such as the Spring application context(s), artefacts, etc.</p>
<p>As most of the beans of the Grails WebApplicationContext are constructed at runtime with the help of a BeanBuilder, there is no Spring xml file with bean definitions.</p>
<p>In order to browse the dynamic bean definitions, Grails Spy can be used to watch into an application’s guts.</p>
<p><b>Installation</b></p>
<pre>grails install-plugin spy</pre>
<p><b>Usage</b></p>
<p>Simply install the plugin, enable the Spy controller for the <code>dev</code> environment and run <code>grails run-app</code>. Then browse to <a href="http://localhost:8080/yourapp/spy">http://localhost:8080/yourapp/spy</a> and enjoy.</p>
<p><b>Changes</b></p>
<ul>
<li>For security reasons the Spy controller must now be enabled in Config.groovy:
<pre>
grails.plugins.spy.enabled = true
</pre>
<p>	The plugin can be enabled or disabled individually for each environment. Example:</p>
<pre>
environments {
    production {
        grails.serverURL = "http://www.changeme.com"
    }
    development {
        grails.serverURL = "http://localhost:8080/${appName}"
	grails.plugins.spy.enabled = true
    }
    test {
        grails.serverURL = "http://localhost:8080/${appName}"
    }
}
</pre>
</li>
<li>&apos;inspect&apos; is now the default action for the spy controller, so it can be called as <a href="http://localhost:8080/yourapp/spy">http://localhost:8080/yourapp/spy</a> instead of <a href="http://localhost:8080/yourapp/spy/inspect">http://localhost:8080/yourapp/spy/inspect</a></li>
</ul>
<p><b>License</b></p>
<p>The Spy plugin is released under the <a href="http://apache.org/licenses/LICENSE-2.0.txt">Apache License 2.0</a>.</p>
<p><b>Source code and Issues</b></p>
<p>The source code is hosted at <a href="http://github.com/jetztgradnet/grails-spy-plugin">GitHub</a>, issues can be reported <a href="http://github.com/jetztgradnet/grails-spy-plugin/issues">here</a>.</p>
<p><b>Screenshots</b></p>
<p>Eye-candy you say? See below:</p>
<p><b>GrailsSpy: GrailsApplication</b></p>
<p><a href="/wp-content/uploads/2010/01/GrailsSpy-GrailsApplication.png"><img src="/wp-content/uploads/2010/01/GrailsSpy-GrailsApplication-65x300.png" alt="" title="GrailsSpy: GrailsApplication" width="65" height="300" class="aligncenter size-medium wp-image-197" /></a></p>
<p><b>GrailsSpy: ApplicationContext view</b></p>
<p><a href="/wp-content/uploads/2010/01/GrailsSpy-MainApplicationContext.png"><img src="/wp-content/uploads/2010/01/GrailsSpy-MainApplicationContext-141x300.png" alt="" title="GrailsSpy: ApplicationContext view" width="141" height="300" class="aligncenter size-medium wp-image-199" /></a></p>
<p><b>GrailsSpy: bean view</b></p>
<p><a href="/wp-content/uploads/2010/01/GrailsSpy-jspViewResolver.png"><img src="/wp-content/uploads/2010/01/GrailsSpy-jspViewResolver-300x242.png" alt="" title="GrailsSpy: bean view" width="300" height="242" class="aligncenter size-medium wp-image-198" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jetztgrad.net/2010/07/released-grails-spy-plugin-0-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Released Grails spy plugin</title>
		<link>http://blog.jetztgrad.net/2010/01/released-grails-spy-plugin/</link>
		<comments>http://blog.jetztgrad.net/2010/01/released-grails-spy-plugin/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 15:30:47 +0000</pubDate>
		<dc:creator>Wolfgang Schell</dc:creator>
				<category><![CDATA[grails]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[spy]]></category>

		<guid isPermaLink="false">http://blog.jetztgrad.net/?p=195</guid>
		<description><![CDATA[While digging through the inner workings of Grails in order to improve my OSGi plugin, it is sometimes necessary to inspect the GrailsApplication object and its companion Spring ApplicationContext(s). As most of the beans of the Grails WebApplicationContext are constructed at runtime with the help of a BeanBuilder, there is no Spring xml file with [...]]]></description>
			<content:encoded><![CDATA[<p>While digging through the inner workings of Grails in order to improve my <a href="http://grails.org/plugin/osgi">OSGi plugin</a>, it is sometimes necessary to inspect the <a href="http://www.grails.org/doc/1.2.0/api/index.html?org/codehaus/groovy/grails/commons/GrailsApplication.html">GrailsApplication</a> object and its companion Spring <a href="http://www.grails.org/doc/1.2.0/api/index.html?org/codehaus/groovy/grails/commons/spring/GrailsApplicationContext.html">ApplicationContext</a>(s).</p>
<p>As most of the beans of the Grails WebApplicationContext are constructed at runtime with the help of a <code>BeanBuilder</code>, there is no Spring xml file with bean definitions.</p>
<p>Only the main application context can be inspected, e.g. by <a href="/2010/01/script-to-inspect-jar-and-war-files-grails-applications-and-plugins/">extracting it</a> from the generated war file:</p>
<p><code><a href="/2010/01/script-to-inspect-jar-and-war-files-grails-applications-and-plugins/">jinspect</a> -a target/myapp-0.1.war</code></p>
<p>In order to browse the dynamic bean definitions I created a little plugin called <b><a href="http://grails.org/plugin/spy">Grails Spy</a></b>, which can be used to watch into an application&#8217;s guts.</p>
<p><b>License</b></p>
<p>The Spy plugin is released under the <a href="http://apache.org/licenses/LICENSE-2.0.txt">Apache License 2.0</a>.</p>
<p><b>Source code and Issues</b></p>
<p>The source code is hosted at <a href="http://github.com/jetztgradnet/grails-spy-plugin">GitHub</a>, issues can be reported <a href="http://github.com/jetztgradnet/grails-spy-plugin/issues">here</a>.</p>
<p><b>Installation</b></p>
<p>As always, simply execute <code>grails install-plugin spy</code>.</p>
<p><em>Note:</em> until the Grails <a href="http://grails.org/plugin/spy">plugin page</a> is sync&#8217;ed, the plugin can also be installed using<br />
<code>grails install-pluginhttp://cloud.github.com/downloads/jetztgradnet/grails-spy-plugin/grails-spy-0.1.zip</code></p>
<p><b>Usage</b></p>
<p>Simply browse to <a href="http://localhost:8080/myapp/spy/">http://localhost:8080/myapp/spy/</a> and have a closer look.</p>
<p><em>Note:</em> this path is NOT PROTECTED, so don&#8217;t do this in a production environment! Or at least use one of the <a href="http://grails.org/plugin/search?q=security">security plugins</a> to protect this page.</p>
<p><b>Screenshots</b></p>
<p>Eye-candy you say? See below:</p>
<p><b>GrailsSpy: GrailsApplication</b></p>
<p><a href="http://blog.jetztgrad.net/wp-content/uploads/2010/01/GrailsSpy-GrailsApplication.png"><img src="http://blog.jetztgrad.net/wp-content/uploads/2010/01/GrailsSpy-GrailsApplication-65x300.png" alt="" title="GrailsSpy: GrailsApplication" width="65" height="300" class="aligncenter size-medium wp-image-197" /></a></p>
<p><b>GrailsSpy: ApplicationContext view</b></p>
<p><a href="http://blog.jetztgrad.net/wp-content/uploads/2010/01/GrailsSpy-MainApplicationContext.png"><img src="http://blog.jetztgrad.net/wp-content/uploads/2010/01/GrailsSpy-MainApplicationContext-141x300.png" alt="" title="GrailsSpy: ApplicationContext view" width="141" height="300" class="aligncenter size-medium wp-image-199" /></a></p>
<p><b>GrailsSpy: bean view</b></p>
<p><a href="http://blog.jetztgrad.net/wp-content/uploads/2010/01/GrailsSpy-jspViewResolver.png"><img src="http://blog.jetztgrad.net/wp-content/uploads/2010/01/GrailsSpy-jspViewResolver-300x242.png" alt="" title="GrailsSpy: bean view" width="300" height="242" class="aligncenter size-medium wp-image-198" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jetztgrad.net/2010/01/released-grails-spy-plugin/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

