<?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>Блогът на Анатолий Дилов &#187; separate</title>
	<atom:link href="http://blog.adilov.net/tag/separate/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.adilov.net</link>
	<description>(не)одушевеното около мен</description>
	<lastBuildDate>Sat, 12 Nov 2011 22:26:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Separate package loading in Drools</title>
		<link>http://blog.adilov.net/technical/how-to/separate-package-loading-in-drools</link>
		<comments>http://blog.adilov.net/technical/how-to/separate-package-loading-in-drools#comments</comments>
		<pubDate>Mon, 11 May 2009 21:42:38 +0000</pubDate>
		<dc:creator>Анатолий</dc:creator>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[Програмиране]]></category>
		<category><![CDATA[Софтуер]]></category>
		<category><![CDATA[dools]]></category>
		<category><![CDATA[drl]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jboss]]></category>
		<category><![CDATA[loading]]></category>
		<category><![CDATA[packages]]></category>
		<category><![CDATA[pkg]]></category>
		<category><![CDATA[separate]]></category>
		<category><![CDATA[stream]]></category>
		<category><![CDATA[url]]></category>

		<guid isPermaLink="false">http://blog.adilov.net/?p=745</guid>
		<description><![CDATA[Първо, линкче към Drools, а след това &#8211; малко разяснение за целта на упражнението. Няма да говоря за Drools като технология, нито ще изразявам мнения и вплечатления тук. Ще приема, че мога да говоря с Drools термините &#8211; исканото решение имаше за цел да зарежда компилираните пакети runtime и поотделно. Нека вземем примера от документацията [...]]]></description>
			<content:encoded><![CDATA[<p>Първо, линкче към <a href="http://www.jboss.org/drools/">Drools</a>, а след това &#8211; малко разяснение за целта на упражнението. Няма да говоря за Drools като технология, нито ще изразявам мнения и вплечатления тук. Ще приема, че мога да говоря с Drools термините &#8211; исканото решение имаше за цел да зарежда компилираните пакети runtime и поотделно.<span id="more-745"></span></p>
<p>Нека вземем примера от документацията &#8211; за мъж и момче, които искат да вземат кредит. В .drl файла пишем правило, че хората над определена възраст могат да взимат кредити, а тези под тази възраст &#8211; не могат. Компилираме .drl файла до пакет (.pkg) и тук започнаха приключенията, а решението беше толкова просто&#8230;</p>
<p>Така е &#8211; не използвам никакви пропъртита, просто създавам един stream с адреса на файла. Stream-ът ни дава доста голяма гъвкавост &#8211; файлове, url, DB. А и кодът е доста прост:</p>
<p><div class="codecolorer-container java default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br /></div></td><td><div class="java codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #003399;">InputStream</span> inputStream <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">FileInputStream</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">File</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;credit.pkg&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">Package</span> <span style="color: #006699;">pkg</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">Package</span><span style="color: #009900;">&#41;</span> stream.<span style="color: #006633;">readObject</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
inputStream.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
stream.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
RuleBase rules <span style="color: #339933;">=</span> RuleBaseFactory.<span style="color: #006633;">newRuleBase</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
rules.<span style="color: #006633;">addPackage</span><span style="color: #009900;">&#40;</span>pkg<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
WorkingMemory session <span style="color: #339933;">=</span> rules.<span style="color: #006633;">newStatefulSession</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
Person adult <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Person<span style="color: #009900;">&#40;</span>“Mr Snr”, <span style="color: #cc66cc;">35</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
Person child <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Person<span style="color: #009900;">&#40;</span>“Jnr”, <span style="color: #cc66cc;">15</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
session.<span style="color: #006633;">insert</span><span style="color: #009900;">&#40;</span>adult<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
session.<span style="color: #006633;">insert</span><span style="color: #009900;">&#40;</span>child<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
session.<span style="color: #006633;">fireAllRules</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.adilov.net/technical/how-to/separate-package-loading-in-drools/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

