<?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>Lucas Teixeira &#187; GSolr</title>
	<atom:link href="http://lucastex.com.br/tag/gsolr/feed/" rel="self" type="application/rss+xml" />
	<link>http://lucastex.com.br</link>
	<description>@lucastex</description>
	<lastBuildDate>Fri, 07 Jan 2011 12:44:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>[GSolr] Beans declarados automagicamente</title>
		<link>http://lucastex.com.br/2010/02/28/gsolr-beans-declarados-automagicamente/</link>
		<comments>http://lucastex.com.br/2010/02/28/gsolr-beans-declarados-automagicamente/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 02:18:23 +0000</pubDate>
		<dc:creator>Lucas Teixeira</dc:creator>
				<category><![CDATA[GSolr]]></category>
		<category><![CDATA[Grails]]></category>
		<category><![CDATA[Solr]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[Spring]]></category>

		<guid isPermaLink="false">http://lucastex.com.br/?p=314</guid>
		<description><![CDATA[

GSolr, é o nome do plugin de solr que estamos fazendo de solr para grails. Para quem quiser acompanhar o trabalho, o repositório está no github: http://github.com/lucastex/gsolr.
Uma coisa que já está feita é a leitura da configuração do gsolr e a declaração mágica de beans, um para cada servidor solr que estiver configurado. Exemplificando, vamos [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Flucastex.com.br%252F2010%252F02%252F28%252Fgsolr-beans-declarados-automagicamente%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2FccV24J%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22%5BGSolr%5D%20Beans%20declarados%20automagicamente%22%20%7D);"></div>
<p>GSolr, é o nome do plugin de solr que estamos fazendo de solr para grails. Para quem quiser acompanhar o trabalho, o repositório está no github: <a href="http://github.com/lucastex/gsolr" target="_blank">http://github.com/lucastex/gsolr</a>.</p>
<p>Uma coisa que já está feita é a leitura da configuração do gsolr e a declaração <strong>mágica</strong> de beans, um para cada servidor solr que estiver configurado. Exemplificando, vamos imaginar que a configuração esteja declarando três servidores Solr que serão consultados:</p>
<pre class="brush: groovy; title: ;">gsolr {
   solr {
      produtos {
         (...)
      }
      noticias {
         (...)
      }
      usuarios {
         (...)
      }
   }
}</pre>
<p>Particularmente, achei bem interessante usar o nome da closure para o nome do servidor ao invés de termos um atributo <em>name = produtos</em> :)<br />
A mágica legal mesmo, é que o plugin vai ler esta configuração quando a aplicação for para o ar, e depois disso irá declarar / criar beans spring dinâmicamente, usando a Spring DSL. E os beans vão ter no nome a declaração feita na closure do usuário.</p>
<p>Ou seja, para os servidores <strong>solr</strong> declarados acima, o plugin irá declarar os Spring Beans <strong>produtosGSolr</strong>, <strong>noticiasGSolr</strong> e <strong>usuariosGSolr</strong> .</p>
<p>Desta maneira, vamos garantir que se você quiser o usar o plugin, o processo como um todo ficará o menos intrusivo possível, e você poderá usar os métodos (de pesquisa e outros) do GSolr apenas injetando o bean do servidor Solr que você quiser.</p>
<pre class="brush: groovy; title: ;">class PesquisaService {
   def noticiasGSolr

   def pesquisar = {
      (...)
   }
}</pre>
<p>Achei no mínimo, muito prático. Tudo isso graças a Spring DSL que temos em groovy. Com um pouco mais de tempo, coloco o procedimento passo a passo para declarar os beans desta maneira. Enquanto isso, conheça um pouco mais sobre a <a href="http://grails.org/doc/latest/guide/14.%20Grails%20and%20Spring.html#14.4%20The%20BeanBuilder%20DSL%20Explained" target="_blank">Spring DSL aqui</a>, ou veja o código fonte <a href="http://github.com/lucastex/gsolr/blob/master/GsolrGrailsPlugin.groovy" target="_blank">aqui</a> e também <a href="http://github.com/lucastex/gsolr/blob/master/src/groovy/org/gsolr/core/GSolrConfigParser.groovy" target="_blank">aqui</a>.</p>
<p>Tem alguma idéia ou sugestão para o plugin? Deixe um comentário!</p>

]]></content:encoded>
			<wfw:commentRss>http://lucastex.com.br/2010/02/28/gsolr-beans-declarados-automagicamente/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

