sexta-feira, fevereiro 27, 2009

Meu primeiro projeto Drools

Parece piada né? Mas é verdade.

Depois de meses e meses falando em Drools, hoje finalmente reinstalei meu Eclipse e coloquei o bundle do JBoss Tools nele para testar esse brinquedinho.

Na prática, eu nem queria mexer nele agora, mas devido uma conversa pelo GTalk com meu amigo R, que trabalha em uma financeira e também porque eu estava ontem lendo sobre o Metawidget, acabei pensando em colocar em ação um pequeno projeto para testar essa tecnologia.

Não fiz nada demais, apenas usei o Wizard da ferramente e criei o famoso Hello World.




Eu já havia lido a documentação do Drools duas vezes, de cabo a rabo, e então deu pra entender bem o código. Apenas em relação à sintaxe das Rules que eu preciso me acostumar...

Deu pau
Porém, ao rodar o Alo Mundo, a feia mensagem "org.drools.RuntimeDroolsException: Unable to load dialect 'org.drools.rule.builder.dialect.java.JavaDialectConfiguration:java'
at org.drools.compiler.PackageBuilderConfiguration.addDialect(PackageBuilderConfiguration.java:160)
at org.drools.compiler.PackageBuilderConfiguration.buildDialectConfigurationMap(PackageBuilderConfiguration.java:146)
at org.drools.compiler.PackageBuilderConfiguration.init(PackageBuilderConfiguration.java:121)
at org.drools.compiler.PackageBuilderConfiguration.(PackageBuilderConfiguration.java:98)
at org.drools.compiler.PackageBuilder.(PackageBuilder.java:124)
at org.drools.compiler.PackageBuilder.(PackageBuilder.java:86)
at com.sample.DroolsTest.readRule(DroolsTest.java:50)
at com.sample.DroolsTest.main(DroolsTest.java:21)
Caused by: java.lang.RuntimeException: The Eclipse JDT Core jar is not in the classpath
at org.drools.rule.builder.dialect.java.JavaDialectConfiguration.setCompiler(JavaDialectConfiguration.java:91)
at org.drools.rule.builder.dialect.java.JavaDialectConfiguration.init(JavaDialectConfiguration.java:52)
at org.drools.compiler.PackageBuilderConfiguration.addDialect(PackageBuilderConfiguration.java:156)
... 7 more'" apareceu.

Confiando no Branquelo, copiei o texto e achei o link https://jira.jboss.org/jira/browse/JBRULES-1260, que mostrava como sanar o problema.

A causa é que esse bundle da JBoss não traz a biblioteca (ou a referência) do compilador JDT do Eclipse.

Assim, percorrei o diretório de plugins do meu Eclipse e achei o arquivo org.eclipse.jdt.core_3.4.2.v_883_R34x.jar, o qual coloquei no path do projeto.

Tudo se resolveu, e o output da aplicação foi...

--
Hello World
Goodbye cruel world
--

Ou seja, minha primeira aplicação Drools.

Amei (putz).

1 comentários:

Diego Pacheco disse...

Oi Marcelo tudo bom?

Ano passado fiz uma apresentação sobre Drools usando DLS em português.
Você pode conferir aqui:

http://diego-pacheco.blogspot.com/2008/12/apresentao-sobre-jboss-drools.html

Tem tanto a apresentação quanto os fontes.

Drools é uma excelente solução. abraços.