锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲午夜精品在线,亚洲综合视频在线观看,亚洲一区二区三区高清不卡http://m.tkk7.com/junky/category/11781.htmlzh-cnThu, 20 Dec 2007 03:54:00 GMTThu, 20 Dec 2007 03:54:00 GMT60[杞琞Tomcat璋冭瘯緇忛獙銆?/title><link>http://m.tkk7.com/junky/archive/2007/12/17/168182.html</link><dc:creator>junky</dc:creator><author>junky</author><pubDate>Mon, 17 Dec 2007 03:22:00 GMT</pubDate><guid>http://m.tkk7.com/junky/archive/2007/12/17/168182.html</guid><wfw:comment>http://m.tkk7.com/junky/comments/168182.html</wfw:comment><comments>http://m.tkk7.com/junky/archive/2007/12/17/168182.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/junky/comments/commentRss/168182.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/junky/services/trackbacks/168182.html</trackback:ping><description><![CDATA[<p>Tomcat璋冭瘯緇忛獙銆備竴浜涜嚜宸辨葷粨鐨勶紝涓浜涙槸浠栦漢鐨勭粡楠屻?/p> <p>1 Q錛?br /> 2006-2-27 21:31:59 org.apache.coyote.http11.Http11Protocol init<br /> 涓ラ噸: Error initializing endpoint<br /> java.net.SocketException: Permission denied: listen failed<br />     at java.net.PlainSocketImpl.socketListen(Native Method)<br />     at java.net.PlainSocketImpl.listen(PlainSocketImpl.java:343)<br />     at java.net.ServerSocket.bind(ServerSocket.java:319)<br />     at java.net.ServerSocket.<init>(ServerSocket.java:185)<br />     at java.net.ServerSocket.<init>(ServerSocket.java:141)<br />     at </p> <p>org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:49)</p> <p>A錛?br /> 瑕佹敼涓涓嬬鍙o紝鍦═OMCAT_HOME\conf\server.xml 鎶?080鏀規垚鍏朵粬鐨勩?br /> 鍚姩涔嬪墠錛屽厛鐢?netstat -a 媯鏌ヤ竴涓?port 鏄笉</p> <p>鏄凡緇忚浣跨敤浜嗐傛湁鍙兘琚玂RACLE鎴栬呮墦寮鐨凟clipse紼嬪簭鍗犵敤銆?br /> OracleOraHome92TNSListenerLISTENER1</p> <p>2   Q錛?br /> JasperException: Failed to load or instantiate TagLibraryValidator class: org.apache.taglibs.standard.tlv.JstlCoreTLV <br /> A: 鍘熷洜lib涓己灝憇tandard.jar鍜宻ervlet-api.jar涓や釜鏂囦歡錛屽皢涓や釜鏂囦歡鍔犲叆鐢ㄦ埛搴撲腑銆?/p> <p>3    閿欒錛?br /> java.lang.NullPointerException <br /> 鍘熷洜錛?鍙戠幇 dao 瀹炰緥銆?manage 瀹炰緥絳夐渶瑕佹敞鍏ョ殑涓滆タ娌℃湁琚敞鍏?<br /> 瑙e喅錛氳繖涓椂鍊欙紝浣犲簲璇ユ煡鐪嬫棩蹇楁枃浠訛紱榛樿鏄簲鐢ㄦ湇鍔″櫒鐨?log 鏂囦歡錛屾瘮濡?Tomcat 灝辨槸 [Tomcat 瀹夎鐩綍 ]/logs 錛涗綘浼氬彂鐜版彁紺轟綘錛?<br /> 鍙兘鏄細 <br /> org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sf' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Initialization of bean failed; nested exception is org.hibernate.HibernateException: could not configure from URL: file:src/hibernate.cfg.xml <br /> org.hibernate.HibernateException: could not configure from URL: file:src/hibernate.cfg.xml <br /> ………………………. <br /> Caused by: java.io.FileNotFoundException: src\hibernate.cfg.xml <br /> 鍙兘鏄細 <br /> org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Initialization of bean failed; nested exception is org.hibernate.MappingException: Resource: com/mcc/coupon/model/UserRole.hbm.xml not found <br /> org.hibernate.MappingException: Resource: com/mcc/coupon/model/UserRole.hbm.xml not found <br /> 鐒跺悗浣犲氨鐭ラ亾鍘熷洜鏄洜涓洪厤緗枃浠剁殑瑙f瀽鍑轟簡閿欒錛岃繖涓氳繃 Web 欏甸潰鏄湅涓嶅嚭鏉ョ殑銆?<br /> 鏇村鐨勬槸鎸佷箙鍖栧獎灝勬枃浠跺嚭鐨勯敊璇紱瀵艱嚧浜嗘病鏈夎瑙f瀽錛涘綋鐒朵綘闇瑕佺殑鍔熻兘灝辨棤娉曚嬌鐢ㄤ簡銆?<br />   <br />   <br /> 4   閿欒錛?br /> StandardWrapperValve[action]: Servlet.service() for servlet action threw exception<br /> javax.servlet.jsp.JspException: Cannot retrieve mapping for action /settlementTypeManage <br /> 鎴栬咃細 <br />      type Status report<br />      message Servlet action is not available <br />      description The requested resource (Servlet action is not available) is not available. </p> <p>鍘熷洜錛?鍚?3<br />   <br /> 5   閿欒錛?br /> StandardWrapperValve[jsp]: Servlet.service() for servlet jsp threw exception <br /> java.lang.ClassNotFoundException: org.apache.struts.taglib.bean.CookieTei <br /> 鐣岄潰閿欒鍏蜂綋鎻忚堪錛?br /> org.apache.jasper.JasperException: Failed to load or instantiate TagExtraInfo class: org.apache.struts.taglib.bean.CookieTei</p> <p><br />      鍘熷洜涓庤В鍐籌細 <br />    <鏂規涓>浣犵殑“html:”寮澶寸殑鏍囩娌℃湁鏀懼湪涓涓?lt;html:form>涓?br />       <鏂規浜?gt;閲嶆柊鍚姩浣犵殑搴旂敤鏈嶅姟鍣紝鑷姩灝辨病鏈夎繖涓棶棰樹簡</p> <p>6 閿欒錛?br /> Exception in thread "main" org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update<br /> 鍘熷洜涓庤В鍐籌細<br />      鍥犱負Hibernate Tools錛堟垨鑰匛clipse鏈韓鐨凞atabase Explorer錛夌敓鎴?.hbn.xml宸ュ叿涓寘鍚湁catalog="***"錛?琛ㄧず鏁版嵁搴撳悕縐幫級榪欐牱鐨勫睘鎬?灝嗚灞炴у垹闄ゅ氨鍙互浜?/p> <p>7   閿欒錛?br /> org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations)<br /> 鍘熷洜涓庤В鍐籌細<br /> 鏂規硶1 鍒犻櫎Set鏂圭殑cascade<br /> 鏂規硶2 瑙e喅鍏寵仈鍏崇郴鍚庯紝鍐嶅垹闄?br /> 鏂規硶3 鍦╩any-to-one鏂瑰鍔燾ascade 浣嗗間笉鑳芥槸none<br /> 鏈鍚庝竴鎷涳細<br /> 媯鏌ヤ竴涓媓ashCode equals鏄惁浣跨敤浜唅d浣滀負鍞竴鏍囩ず鐨勯夐」浜嗭紱鎴戠敤uuid.hex鏃舵槸娌℃湁闂鐨勶紱浣嗘槸鐢ㄤ簡native錛屽氨涓嶈浜嗭紝鎬庝箞鍔烇紵鍒犻櫎鍟婏紒<br /> 榪欎釜閿欒鍙互鍙傝鎴戠殑blog鏂囩珷錛?br /> <a href="http://m.tkk7.com/crazycy/archive/2006/06/24/54939.html">http://m.tkk7.com/crazycy/archive/2006/06/24/54939.html</a><br />   <br /> 8     閿欒錛?br /> exception javax.servlet.ServletException: BeanUtils.populat<br /> root cause<br /> java.lang.IllegalArgumentException:Cannot invoke ***Form.set*** - argument type mismatch<br /> 鍘熷洜<br />        榪欎釜闂寰堝鎬殑璇達紝涓哄暐璇村鎬憿錛?br />        鍏堣闂鐨勫師鍥狅細闂鍙戠敓濡備笅涓ょ鎯呭喌錛?br />            Form涓槸Date綾誨瀷<br />            涓婁紶鏂囦歡鏃?br /> 涓轟粈涔堣濂囨憿錛熶富瑕侀拡瀵笷orm鏄棩鏈熷瀷鐨勬潵璇寸殑錛涘洜涓烘垜鍋氳繃N澶氱郴緇烣orm涓兘鏄敤java.util.Date錛岀晫闈嬌鐢?lt;html:text property=”date”/>;閮芥槸娌℃湁闂鐨勩傛墍浠ョ涓嬈¢亣鍒拌繖涓敊璇椂錛屾崳榧撲簡涓涓笅鍗堛?br /> 瑙e喅錛?br /> 絎竴涓棶棰橈細浣犳妸Date鎹㈡垚String錛涘湪Action涓繘琛岃漿鎹紱褰撶劧杞崲瑕佸熷姪浜嶴impleDateFormate鏂規硶鍠?br /> 絎簩涓棶棰橈細璁板緱鍦╢orm涓鍔爀nctype="multipart/form-data" 鍛靛懙</p> <p>9   闂錛?br /> 浠婂ぉ鐢═omcat5.5.12錛屽彂鐜板師鏉ュ緢濂界敤鐨勭郴緇熶笉鑳界敤浜嗭紝鍙嶅嫻嬭瘯鍙戠幇欏甸潰涓笉鑳藉寘鍚?taglib錛屽惁鍒欎細鍑虹幇浠ヤ笅鎻愮ず錛?br /> HTTP Status 500 -type Exception report<br /> Message  <br /> description The server encountered an internal error () that prevented it from fulfilling this request.<br /> exception<br /> org.apache.jasper.JasperException: /index.jsp(1,1) Unable to read TLD "META-INF/tlds/struts-bean.tld" from JAR file "file:*****/WEB-INF/lib/struts.jar":<br /> 鍘熷洜錛?br /> 鏇存柊浜嗗伐紼嬬敤鐨刲ib鏂囦歡澶逛笅鐨刯ar錛屽彂甯冩椂涔熷彂甯冧簡servlet.jar鍜宩sp-api.jar銆?br /> 瑙e喅錛?br /> 鎶妀sp-api.jar鍒犻櫎灝辮В鍐寵繖涓棶棰樹簡銆?/p> <p><br /> 10   闂錛歍omcat5.0.20涓樊閿欏彲浠ラ氳繃[Tomcat瀹夎鐩綍]/logs涓嬬殑localhost_log.2006-07-14.txt綾諱技鐨勬枃浠剁湅鍏蜂綋鐨勯敊璇棩蹇楋紝浣嗘槸鍦?.5涓氨鎵句笉鍒頒簡<br /> 鍘熷洜涓庤В鍐籌細<br /> 鎴戞妸[Tomcat瀹夎鐩綍]/bin涓嬬殑tomcat5w.exe鐨刲ogging鏍囩鎹i紦浜嗕竴浼氾紝鐒跺悗閲嶈搗灝辨湁浜嗐?br /> 鍘熷洜鍏蜂綋璇翠笉鍑嗭紝鐢ㄩ潪瀹夎鐗堜篃鏈夎繖涓棶棰樸?/p> <p>鏈緇堣В鍐蟲柟妗堬細<br />    <a >http://tomcat.apache.org/tomcat-5.5-doc/logging.html</a><br />    <br /> 11 閿欒錛歫avax.servlet.ServletException: Cannot find bean page in any scope<br /> 鍘熷洜 1錛氭鏌ョ▼搴忥紝鏈夊彲鑳芥槸jsp涓紡鍒扮殑bean鍦ㄧ▼搴忎腑娌℃湁榪愯鍒幫紝鎵浠ヤ笉瀛樺湪銆?/p> <p>12 閿欒錛歂o action instance for path /MenuManage could be created<br /> 鍘熷洜錛歴turts閰嶇疆闂錛屾壘涓嶅埌Form瀵瑰簲鐨刡ean銆傛鏌sp鏂囦歡鍜宻truts-config.xml鏂囦歡銆?/p> <p>13 閿欒錛歰rg.hibernate.hql.ast.QuerySyntaxException: address is not mapped. [from address]<br /> 鍘熷洜錛氭鏌ュ搴攂ean涓暟鎹簱鍚嶆槸鍚﹀拰hibernate瀹氫箟鐨勭浉鍚岋紝娉ㄦ剰澶у皬鍐欍?/p> <p>14 閿欒錛歰rg.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter in class: com.xxx.perrsistence.Test, setter method of property: id<br /> 鍘熷洜錛氬搴攂ean涓璼et鏂規硶鏁版嵁綾誨瀷鍜宧ibernate閰嶇疆鏂囦歡涓畾涔夌殑綾誨瀷鏄惁涓鑷?/p> <img src ="http://m.tkk7.com/junky/aggbug/168182.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/junky/" target="_blank">junky</a> 2007-12-17 11:22 <a href="http://m.tkk7.com/junky/archive/2007/12/17/168182.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>JBoss Rules 瀛︿範錛堜簩錛? 涓浜涗笓涓氭湳璇殑瑙i噴 http://m.tkk7.com/junky/archive/2006/06/02/49824.htmljunkyjunkyThu, 01 Jun 2006 16:24:00 GMThttp://m.tkk7.com/junky/archive/2006/06/02/49824.htmlhttp://m.tkk7.com/junky/comments/49824.htmlhttp://m.tkk7.com/junky/archive/2006/06/02/49824.html#Feedback0http://m.tkk7.com/junky/comments/commentRss/49824.htmlhttp://m.tkk7.com/junky/services/trackbacks/49824.html鍦?/font> JBoss Rules 瀛︿範錛堜竴錛?浠涔堟槸Rule 涓紝鎴戜滑浠嬬粛浜咼Boss Rules涓Rule鐨勮〃紺猴紝鍏朵腑鏈夊緢澶欽Boss Rules妗嗘灦鐨勪笓涓氭湳璇紝涓嬮潰瀵硅繖浜涙湳璇綔鍑鴻繘涓姝ョ殑瑙i噴錛屽彲浠ヤ嬌JBoss Rules鏇村姞瀹規槗鐞嗚В銆?br />

1.Rete 綆楁硶 錛?/span>

Rete 鍦ㄦ媺涓佽涓槸 鈥漬et鈥?/span> 錛屾湁緗戠粶鐨勬剰鎬濄?/span> RETE 綆楁硶鍙互鍒嗕負涓ら儴鍒嗭細瑙勫垯緙栬瘧錛?/span> rule compilation 錛夊拰榪愯鏃舵墽琛岋紙 runtime execution 錛夈?/span>

緙栬瘧綆楁硶鎻忚堪浜嗚鍒欏浣曞湪 Production Memory 涓駭鐢熶竴涓湁鏁堢殑杈ㄥ埆緗戠粶銆傜敤涓涓潪鎶鏈х殑璇嶆潵璇達紝涓涓鯨鍒綉緇滃氨鏄敤鏉ヨ繃婊ゆ暟鎹傛柟娉曟槸閫氳繃鏁版嵁鍦ㄧ綉緇滀腑鐨勪紶鎾潵榪囨護鏁版嵁銆傚湪欏剁鑺傜偣灝嗕細鏈夊緢澶氬尮閰嶇殑鏁版嵁銆傚綋鎴戜滑欏虹潃緗戠粶鍚戜笅璧幫紝鍖歸厤鐨勬暟鎹皢浼氳秺鏉ヨ秺灝戙傚湪緗戠粶鐨勬渶搴曢儴鏄粓绔妭鐐癸紙 terminal nodes 錛夈傚湪 Dr Forgy 鐨?/span> 1982 騫寸殑璁烘枃涓紝浠栨弿榪頒簡 4 縐嶅熀鏈妭鐐癸細 root , 1-input, 2-input and terminal 銆?/span>

鏍硅妭鐐規槸鎵鏈夌殑瀵硅薄榪涘叆緗戠粶鐨勫叆鍙c傜劧鍚庯紝浠庢牴鑺傜偣绔嬪嵆榪涘叆鍒?/span> ObjectTypeNode 銆?/span> ObjectTypeNode 鐨勪綔鐢ㄦ槸浣垮紩鎿庡彧鍋氬畠闇瑕佸仛鐨勪簨鎯呫備緥濡傦紝鎴戜滑鏈変袱涓璞¢泦錛?/span> Account 鍜?/span> Order 銆傚鏋滆鍒欏紩鎿庨渶瑕佸姣忎釜瀵硅薄閮借繘琛屼竴涓懆鏈熺殑璇勪及錛岄偅浼氭氮璐瑰緢澶氱殑鏃墮棿銆備負浜嗘彁楂樻晥鐜囷紝寮曟搸灝嗗彧璁╁尮閰?/span> object type 鐨勫璞¢氳繃鍒拌揪鑺傜偣銆傞氳繃榪欑鏂規硶錛屽鏋滀竴涓簲鐢?/span> assert 涓涓柊鐨?/span> account 錛屽畠涓嶄細灝?/span> Order 瀵硅薄浼犻掑埌鑺傜偣涓傚緢澶氱幇浠?/span> RETE 瀹炵幇閮芥湁涓撻棬鐨?/span> ObjectTypeNode 銆傚湪涓浜涙儏鍐典笅錛?/span> ObjectTypeNode 琚敤鏁e垪娉曡繘涓姝ヤ紭鍖栥?/span>

1-input 鑺傜偣閫氬父琚О涓?/span> AlphaNode 銆?/span> AlphaNodes 琚敤鏉ヨ瘎浼板瓧闈㈡潯浠訛紙 literal conditions 錛夈傝櫧鐒訛紝 1982 騫寸殑璁烘枃鍙彁鍒頒簡鐩哥瓑鏉′歡錛堟寚鐨勫瓧闈笂鐩哥瓑錛夛紝寰堝 RETE 瀹炵幇鏀寔鍏朵粬鐨勬搷浣溿備緥濡傦紝 Account.name = = 鈥淢ark鈥? 鏄竴涓瓧闈㈡潯浠躲傚綋涓鏉¤鍒欏浜庝竴縐?/span> object type 鏈夊鏉$殑瀛楅潰鏉′歡錛岃繖浜涘瓧闈㈡潯浠跺皢琚摼鎺ュ湪涓璧楓傝繖鏄錛屽鏋滀竴涓簲鐢?/span> assert 涓涓?/span> account 瀵硅薄錛屽湪瀹冭兘鍒拌揪涓嬩竴涓?/span> AlphaNode 涔嬪墠錛屽畠蹇呴』鍏堟弧瓚崇涓涓瓧闈㈡潯浠躲傚湪 Dr. Forgy 鐨勮鏂囦腑錛屼粬鐢?/span> IntraElement conditions 鏉ヨ〃榪般備笂涓孌墊彁鍒扮殑 ObjectTypeNode 鏄竴縐嶇壒孌婄殑 AlphaNode 銆?/span>

2-input 鑺傜偣閫氬父琚О涓?/span> BetaNode 銆?/span> BetaNodes 琚敤鏉ュ 2 涓璞¤繘琛屽姣斻傝繖涓や釜瀵硅薄鍙互鏄悓縐嶇被鍨嬶紝涔熷彲浠ユ槸涓嶅悓綾誨瀷銆備竴涓?/span> BetaNode 鐨勫乏杈硅緭鍏ラ氬父鏄?/span> a list of objects 銆傚彸杈硅緭鍏ユ槸 a single object 銆傚湪涓浜涙儏鍐典笅錛屼竴涓鍒欏紩鎿庡彲鑳藉疄鐜頒竴浜?/span> BetaNodes 鏉ュ鐞?/span> existential conditions ( 鈥樹笌鈥欐潯浠?/span> ) 鍜?/span> negated conditional element 錛堚橀潪鈥欐潯浠訛級銆傚緢澶氱幇浠g殑 RETE 瀹炵幇閫氳繃 hash 鎴?/span> b-tree indexes 鏉ヤ紭鍖?/span> BetaNodes 銆?/span>

Terminal nodes 琚敤鏉ヨ〃鏄庝竴鏉¤鍒欏凡緇忓尮閰嶄簡瀹冪殑鎵鏈夋潯浠訛紙 conditions 錛夈傚湪涓浜涙儏鍐典笅錛屼竴鏉″甫鏈夆滄垨鈥濇潯浠剁殑瑙勫垯鍙互鏈夎秴榪囦竴涓殑 terminal node 銆備粠涓涓?/span> RETE 緗戠粶鐨勮鐐規潵鐪嬶紝涓鏉″甫鏈夆滄垨鈥濇潯浠剁殑瑙勫垯瀹為檯涓婂彧鏄?/span> 2 涓嫢鏈夊緢澶氬叡浜妭鐐圭殑鑺傜偣銆?/span>

RETE 綆楁硶鐨勭浜屼釜閮ㄥ垎鏄繍琛屾椂錛?/span> runtime 錛夈傚綋涓涓簲鐢?/span> assert 涓涓璞★紝寮曟搸灝嗘暟鎹紶閫掑埌 root node 銆備粠閭i噷錛屽畠榪涘叆 ObjectTypeNode 騫舵部鐫緗戠粶鍚戜笅浼犳挱銆傚綋鏁版嵁鍖歸厤涓涓妭鐐圭殑鏉′歡錛岃妭鐐瑰氨灝嗗畠璁板綍鍒扮浉搴旂殑鍐呭瓨涓傝繖鏍峰仛鐨勫師鍥犳湁浠ヤ笅鍑犵偣錛氫富瑕佺殑鍘熷洜鏄彲浠ュ甫鏉ユ洿蹇殑鎬ц兘銆傝櫧鐒惰浣忓畬鍏ㄦ垨閮ㄥ垎鍖歸厤鐨勫璞¢渶瑕佸唴瀛橈紝瀹冩彁渚涗簡閫熷害鍜屽彲浼哥緝鎬х殑鐗圭偣銆傚綋涓鏉¤鍒欑殑鎵鏈夋潯浠墮兘婊¤凍錛岃繖灝辨槸瀹屽叏鍖歸厤銆傝屽彧鏈夐儴鍒嗘潯浠舵弧瓚籌紝灝辨槸閮ㄥ垎鍖歸厤銆傦紙鎴戣寰楀紩鎿庡湪姣忎釜鑺傜偣閮芥湁鍏跺搴旂殑鍐呭瓨鏉ュ偍瀛樻弧瓚寵鑺傜偣鏉′歡鐨勫璞★紝榪欏氨閫犳垚浜嗗鏋滀竴涓璞℃槸瀹屽叏鍖歸厤錛岄偅榪欎釜瀵硅薄灝變細鍦ㄦ瘡涓妭鐐圭殑瀵瑰簲鍐呭瓨涓兘瀛樻湁鍏舵槧璞°傦級

<!--[if !supportEmptyParas]-->

2.Leaps 綆楁硶錛?/span>

Production systems 鐨?/span> Leaps 綆楁硶浣跨敤浜嗕竴縐嶁?/span> lazy 鈥濇柟娉曟潵璇勪及鏉′歡錛?/span> conditions 錛夈備竴縐?/span> Leaps 綆楁硶鐨勪慨鏀圭増鏈殑瀹炵幇錛屼綔涓?/span> Drools v3 鐨勪竴閮ㄥ垎錛屽皾璇曠粨鍚?/span> Leaps 鍜?/span> RETE 鏂規硶鐨勬渶濂界殑鐗圭偣鏉ュ鐞?/span> Working Memory 涓殑 facts 銆?/span>

鍙ゅ吀鐨?/span> Leaps 鏂規硶灝嗘墍鏈夌殑 asserted 鐨?/span> facts 錛屾寜鐓у叾琚?/span> asserted 鍦?/span> Working Memory 涓殑欏哄簭錛?/span> FIFO 錛夛紝鏀懼湪涓誨爢鏍堜腑銆傚畠涓涓釜鐨勬鏌?/span> facts 錛岄氳繃榪唬鍖歸厤 data type 鐨?/span> facts 闆嗗悎鏉ユ壘鍑烘瘡涓涓浉鍏寵鍒欑殑鍖歸厤銆傚綋涓涓尮閰嶇殑鏁版嵁琚彂鐜版椂錛岀郴緇熻浣忔鏃剁殑榪唬浣嶇疆浠ュ寰呬細鐨勭戶緇凱浠o紝騫朵笖嬋鍙戣鍒欑粨鏋滐紙 consequence 錛夈傚綋緇撴灉錛?/span> consequence 錛夋墽琛屽畬鎴愪互鍚庯紝緋葷粺灝變細緇х畫澶勭悊澶勪簬涓誨爢鏍堥《閮ㄧ殑 fact 銆傚姝ゅ弽澶嶃?/span>

<!--[if !supportEmptyParas]--> 3.RuleBase:

涓涓?/span> RuleBase 鍖呭惈浜嗗涓皢琚嬌鐢ㄧ殑瑙勫垯鍖咃紙 packages of rules 錛夈傚綋瑙勫垯鏀瑰彉鏃訛紝涓涓?/span> rulebase 灝嗚浜х敓騫朵笖緙撳瓨錛岀洿鍒拌鍒欏啀嬈″彉鍖栥?/span>

涓涓?/span> rulebase instance 鏄嚎紼嬪畨鍏ㄧ殑錛屾墍鏈変綘鍙互鍦ㄤ綘鐨勫簲鐢ㄤ腑錛岃涓涓?/span> rulebase instance 鍦ㄥ涓嚎紼嬩腑鍏變韓銆傚浜庝竴涓?/span> rulebase 鐨勬渶閫氬父鐨勬搷浣滄槸浜х敓涓涓柊鐨?/span> WorkingMemory 銆?/span>

榪欎釜 rulebase 淇濇寔鐫鍒板畠鎵浜х敓鐨?/span> WorkingMemoryd 鐨勫急寮曠敤錛屾墍浠ュ湪闀挎椂闂磋繍琛岀殑 WorkingMemory 涓紝濡傛灉 rules 鍙戠敓鏀瑰彉錛岃繖浜?/span> WorkingMemory 鍙互鍗充嬌鐨勬牴鎹渶鏂扮殑 rules 榪涜鏇存柊錛岃屼笉蹇呴噸鍚?/span> WorkingMemory 銆?/span>

4.WorkingMemory:

WorkingMemory 鍩烘湰涓婂氨鏄凡緇忚澆鍏ユ墍鏈夌殑 rules 錛屽茍涓斿噯澶囧惎鍔ㄧ殑 rule engine 銆傚畠淇濇寔浜嗘墍鏈夎 asserted 榪?/span> WorkingMemory 鐨勬暟鎹殑寮曠敤錛岀洿鍒板彇娑堬紙 retracted 錛夈傚茍涓斿畠鏄笌浣犵殑緋葷粺榪涜浜や簰鐨勫湴鏂廣?/span> WorkingMemory 鏄湁鐘舵佸璞°傚畠浠殑鐢熷懡鍛ㄦ湡鍙暱鍙煭銆傚鏋滀粠涓涓煭鐢熷懡鍛ㄦ湡鐨勮搴︽潵鍚屼竴涓紩鎿庤繘琛屼氦浜掞紝鎰忓懗鐫浣犲彲浠ヤ嬌鐢?/span> RuleBase 瀵硅薄鏉ヤ負姣忎釜 session 浜х敓涓涓柊鐨?/span> WorkingMemory 錛岀劧鍚庡湪緇撴潫 session 鍚?/span> discard 榪欎釜 WorkingMemory 錛堜駭鐢熶竴涓?/span> WorkingMemory 鏄竴涓粔浠風殑鎿嶄綔錛夈傚彟涓縐嶅艦寮忥紝灝辨槸鍦ㄤ竴涓浉褰撻暱鐨勬椂闂翠腑錛堜緥濡備竴涓?/span> conversation 錛夛紝淇濇寔涓涓?/span> WorkingMemory 錛屽茍涓斿浜庢柊鐨?/span> facts 淇濇寔鎸佺畫鐨勬洿鏂般?/span>

4.1 Facts

Facts 鏄粠浣犵殑搴旂敤涓紝琚?/span> assert 榪?/span> WorkingMemory 涓殑瀵硅薄錛?/span> beans 錛夈?/span> Facts 鏄鍒欏彲浠ヨ闂殑浠繪剰鐨?/span> java 瀵硅薄銆傝鍒欏紩鎿庝腑鐨?/span> facts 騫朵笉鏄?/span> clone 鈥?/span> facts 錛屽畠鍙槸鎸佹湁鍒頒綘鐨勫簲鐢ㄤ腑鏁版嵁鐨勫紩鐢ㄣ?/span>

4.2 Assertion

鈥淎ssertion鈥?/span> 鏄皢 facts 鍛婅瘔 WorkingMemory 鐨勫姩浣滐紝渚嬪 WorkingMemory.assertObject (yourObject) 銆傚綋浣?/span> assert 涓涓?/span> fact 銆傚畠灝嗚媯鏌ユ槸鍚﹀尮閰嶈鍒欍傚綋浣犲畬鎴?/span> assert facts 涔嬪悗錛屼綘榪樿璋冪敤鈥?/span> fireAllRules() 鈥濇柟娉曟潵鍚姩鍖歸厤銆?/span>

錛?/span> WorkingMemory.assertObject(yourObjcet) 鍙槸榪涜 assertion 鐨勪竴縐?/span> regular 鏂規硶錛岃繕瀛樺湪鏈変竴縐嶇О涓?/span> logical assertion 鐨勫姩浣滐級銆?/span>

4.3 Retraction

鍩烘湰涓婂氨鏄?/span> assert 鐨勯嗘搷浣溿傚綋浣?/span> retract 涓涓?/span> fact 錛?/span> WorkingMemory 灝嗕笉鍐嶈窡韙偅涓?/span> fact 銆備換浣曚緷璧栭偅涓?/span> fact 鐨?/span> rules 灝嗕笉琚縺媧匯傛敞鎰忥細瀹屽叏鏈夊彲鑳藉瓨鍦ㄦ煇鏉¤鍒欐槸渚濊禆浜庝竴涓?/span> fact 鐨勨滀笉瀛樺湪鈥濓紙 non existence 錛夈傚湪榪欑鎯呭喌涓嬶紝 retract 涓涓?/span> fact 灝嗗鑷翠竴鏉¤鍒欒嬋媧匯?/span>

4.4 Modification

瑙勫垯寮曟搸蹇呴』鐭ラ亾浠涔堟椂鍊欎竴涓?/span> fact 琚敼鍙樹簡錛屽洜涓轟緷璧栨 fact 鐨?/span> rule 浼氬洜姝よ岃鍐嶆嬋鍙戙傚綋浣犱慨鏀逛竴涓?/span> fact 鐨勬椂鍊欙紝灝卞憡璇変簡瑙勫垯寮曟搸瀹冪殑鐘舵佸凡緇忔敼鍙樹簡銆?/span>

4.5 Globals

Globals 鏄竴涓兘澶熻浼犺繘瑙勫垯寮曟搸鐨勫懡鍚嶇殑瀵硅薄銆傚ぇ澶氭暟榪欎簺瀵硅薄琚敤鏉ヤ綔涓洪潤鎬佷俊鎭垨鏈嶅姟銆傝繖浜涙湇鍔¤鐢ㄥ湪涓鏉¤鍒欑殑 RHS 錛屾垨鑰呭彲鑳芥槸浠庤鍒欏紩鎿庤繑鍥炲璞$殑涓縐嶆柟娉曘?/span>

4.6 Property Change Listener

濡傛灉浣犵殑 fact 瀵硅薄鏄?/span> java bean 錛屼綘鍙互涓哄畠浠疄鐜頒竴涓?/span> property change listener 錛岀劧鍚庢妸瀹冮珮鏁拌鍒欏紩鎿庛傝繖鎰忓懗鐫錛屽綋涓涓?/span> fact 鏀瑰彉鏃訛紝瑙勫垯寮曟搸灝嗕細鑷姩鐭ラ亾錛屽茍榪涜鍝嶅簲鐨勫姩浣溿?/span> Proxy libraries 灝嗕細甯姪瀹炵幇榪欎竴鍒囥?/span>

4.7 Stateless and Statefull Sessions

鍩轟簬 RETE 綆楁硶鐨勮鍒欏紩鎿庢槸鏈夌姸鎬佺殑瑙勫垯寮曟搸銆傛湁鐘舵佸甫鏉ョ殑濂藉鏄敼鍙樿兘澶熻閫氱煡鍜岀瘡璁?/span> facts 錛?/span> accumulating facts 錛夈?/span>

灝界濡傛錛屽湪寰堝鎯呭喌涓嬶紝鎵鏈夋彁渚涚粰瑙勫垯寮曟搸鐨勭殑 facts 閮芥槸鏈鏂扮殑錛岀揣鎺ョ潃瑙勫垯琚縺媧匯傚湪榪欑鎯呭喌涓嬩粎浠呴渶瑕佷竴縐嶆棤鐘舵佺殑妯″紡銆?/span>

JSR-94 API 鎸囧畾浜嗘湁鐘舵佸拰鏃犵姸鎬佺殑妯″紡錛屼絾鏄湪 native API 涓殑絳変環鐗╀粎浠呮槸鍒涘緩涓涓柊鐨?/span> WorkingMemory 瀹炰緥錛岀劧鍚庡綋 session 緇撴潫鏃跺垹闄ゅ畠銆?/span>

<!--[if !supportEmptyParas]-->聽

5. Agenda:

Agenda 鏄?/span> RETE 鐨勪竴涓壒鐐廣傚畠鏄唴瀛樹腑鐨勪竴涓尯鍩燂紝鍦ㄨ鍒欏拰鍖歸厤鐨?/span> facts 琚縺鍙戜箣鍓嶏紝瀹冧滑琚繚瀛樺湪榪欓噷錛岀О涓衡?/span> activations 鈥濄?/span>

寮曟搸宸ヤ綔鍦ㄤ竴涓?/span> 2 闃舵鈥濇ā寮忎笅錛?/span>

<!--[if !supportLists]--> 1錛?span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">聽 <!--[endif]--> WorkingMemory actions 錛?/span>assert鏂扮殑facts錛屼慨鏀瑰瓨鍦ㄧ殑facts鍜?/span>retract facts閮芥槸WorkingMemory actions銆傝繖浜涘姩浣滀粠涓鏉¤鍒欑殑RHS鎴栨槸java code涓瑙﹀彂銆?/span>

<!--[if !supportLists]--> 2錛?span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">聽 <!--[endif]--> Agenda evaluation錛?/span>rule actions鍦ㄨ繖閲岃嬋鍙戯級銆?/span>

娉ㄦ剰錛氳繖涓繃紼嬫槸涓涓疆嫻佸彂鐢熺殑榪囩▼錛屼竴鏉¤鍒欑殑嬋鍙戝彲鑳藉紩璧?/span> WorkingMemory actions 鐨勫彂鐢熴傚綋 WorkingMemory actions 鍙戠敓鏃訛紝搴旇娌℃湁瑙勫垯姝e湪琚縺鍙戙?/span>

fireAllRules() 鏂規硶寮曡搗 Agenda evaluation 錛屾渶緇堚?/span> activations 鈥濇縺鍙戙傝繖涓繃紼嬩竴鐩撮噸澶嶇洿鍒?/span> Agenda 琚竻絀猴紝姝ゆ椂鎺у埗鏉冨氨鍥炲埌搴旂敤紼嬪簭涓?/span>

5.1 Conflict Resultion

褰撴湁澶氭潯 rules 鍦?/span> agenda 涓紝灝遍渶瑕佽В鍐沖啿紿併傚綋嬋鍙戜竴鏉¤鍒欐椂錛屼細瀵?/span> WorkingMemory 浜х敓鍓綔鐢ㄣ傝鍒欏紩鎿庨渶瑕佺煡閬撹鍒欒浠ヤ粈涔堥『搴忔潵嬋鍙戯紙渚嬪錛屾縺鍙?/span> rule A 鍙兘浼氬紩璧?/span> rule B 琚粠 agenda 涓Щ闄ゃ傦級

Drools 閲囧彇鐨勫啿紿佽В鍐崇瓥鐣ユ湁 4 縐嶏紝鎸夌収浼樺厛綰ф帓鍒楀涓嬶細 Salience 錛?/span> FIFO 錛堝厛榪涘厛鍑猴級錛?/span> Total Recency 鍜?/span> Load order 銆?/span>

浼樺厛綰ф渶楂橈紝涔熸槸鏈鏄撴噦鐨勭瓥鐣ユ槸鈥?/span> Salience 鈥濓紝鍗充紭鍏堢駭錛?/span> user 鍙互涓烘煇涓?/span> rule 鎸囧畾涓涓珮涓鐐圭殑浼樺厛綰э紙閫氳繃闄勭粰瀹冧竴涓瘮杈冨ぇ鐨勬暟瀛楋級銆傞珮 Salience 鐨?/span> rule 灝嗕細琚紭鍏堟縺鍙戙?/span>

浼樺厛綰ф渶浣庣殑絳栫暐鏄?/span> Load order 錛屽氨鏄寜鐓?/span> rule 琚0鏄庣殑欏哄簭銆?/span>

5.2 Agenda Groups

Agenda Groups 鏄垝鍒?/span> Agenda 涓?/span> rules 錛堝叾瀹炴槸鈥?/span> activations 鈥濓級鐨勪竴縐嶆柟娉曘傚湪浠繪剰涓涓椂鍒伙紝鍙湁涓涓?/span> group 鎷ユ湁鈥?/span> focus 鈥濓紝榪欐剰鍛崇潃鍙湁鍦ㄩ偅涓?/span> group 涓殑 activations for rules 鎵嶆槸鏈夋晥鐨勩?/span>

5.3 Filters

Filter 鏄?/span> filter 鎺ュ彛鐨勫彲閫夊疄鐜幫紝鐢ㄦ潵鍏佽鎴栫姝竴涓?/span> activation 鑳藉琚縺鍙戙?/span>



junky 2006-06-02 00:24 鍙戣〃璇勮
]]>
JBoss Rules 瀛︿範錛堜竴錛? 浠涔堟槸Rule http://m.tkk7.com/junky/archive/2006/06/02/49823.htmljunkyjunkyThu, 01 Jun 2006 16:23:00 GMThttp://m.tkk7.com/junky/archive/2006/06/02/49823.htmlhttp://m.tkk7.com/junky/comments/49823.htmlhttp://m.tkk7.com/junky/archive/2006/06/02/49823.html#Feedback0http://m.tkk7.com/junky/comments/commentRss/49823.htmlhttp://m.tkk7.com/junky/services/trackbacks/49823.html聽聽聽聽聽 瀛︿範JBoss Rules鏈夊嚑澶╀簡錛屽洜涓鴻繖鏂歸潰鐨勪腑鏂囪祫鏂欒緝灝戯紝鎵浠ヨ繖鍑犲ぉ閮藉湪鐪嬪畼緗戜笂鐨刴anual銆傝繖鏄竴浠戒笉閿欑殑鏁欑▼錛屾垜鎶婃垜鐪嬬殑涓浜涢噸瑕佺殑涓滆タ緲昏瘧鏁寸悊浜嗕竴涓嬶紝甯屾湜鍙互瀵規兂瀛︿範JBoss Rules鐨勫悓瀛︿滑鎻愪緵涓鐐瑰府鍔┿?br />聽聽聽聽聽聽 鍦ㄥ紑濮嬭繖浠芥暀紼嬩箣鍓嶏紝鎴戝厛綆瑕佷粙緇嶄竴涓婮Boss Rules錛?br />聽聽聽聽聽聽 JBoss Rules 鐨勫墠韜槸Codehaus鐨勪竴涓紑婧愰」鐩彨Drools銆傛渶榪戣綰沖叆JBoss闂ㄤ笅錛屾洿鍚嶄負JBoss Rules錛屾垚涓轟簡JBoss搴旂敤鏈嶅姟鍣ㄧ殑瑙勫垯寮曟搸銆?br />聽聽聽聽聽聽 Drools鏄負Java閲忚韓瀹氬埗鐨勫熀浜嶤harles聽 Forgy鐨凴ETE綆楁硶鐨勮鍒欏紩鎿庣殑瀹炵幇銆傚叿鏈変簡OO鎺ュ彛鐨凴ETE,浣垮緱鍟嗕笟瑙勫垯鏈変簡鏇磋嚜鐒剁殑琛ㄨ揪銆?br />聽
聽聽聽聽聽聽 鏃㈢劧JBoss Rules鏄竴涓晢涓氳鍒欏紩鎿庯紝閭f垜浠氨瑕佸厛鐭ラ亾鍒板簳浠涔堟槸Rules錛屽嵆瑙勫垯銆傚湪JBoss Rules涓紝瑙勫垯鏄浣曡琛ㄧず鐨?br />

Rules

涓鏉¤鍒欐槸瀵瑰晢涓氱煡璇嗙殑緙栫爜銆備竴鏉¤鍒欐湁 attributes 錛屼竴涓?/span> Left Hand Side 錛?/span> LHS 錛夊拰涓涓?/span> Right Hand Side 錛?/span> RHS 錛夈?/span> Drools 鍏佽涓嬪垪鍑犵 attributes 錛?/span> salience 錛?/span> agenda-group 錛?/span> no-loop 錛?/span> auto-focus 錛?/span> duration 錛?/font> activation-group 銆?/span>

rule聽鈥?/span> < name > 鈥澛犅犅犅?br />聽聽聽聽 < attribute > < value > 聽聽聽聽
聽聽聽聽when聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽
< LHS > 聽聽聽聽
聽聽聽聽then聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽
< RHS >
end

瑙勫垯鐨?/span> LHS 鐢變竴涓垨澶氫釜鏉′歡錛?/span> Conditions 錛夌粍鎴愩傚綋鎵鏈夌殑鏉′歡錛?/span> Conditions 錛夐兘婊¤凍騫朵負鐪熸椂錛?/span> RHS 灝嗚鎵ц銆?/span> RHS 琚О涓虹粨鏋滐紙 Consequence 錛夈?/span> LHS 鍜?/span> RHS 綾諱技浜庯細
if 聽(聽 < LHS > 聽)聽{
聽聽聽聽
< RHS >
}

瑙勫垯鍙互閫氳繃 package 鍏抽敭瀛楀悓涓涓懡鍚嶇┖闂達紙 namespace 錛夌浉鍏寵仈錛涘叾浠栫殑瑙勫垯寮曟搸鍙兘縐版涓鴻鍒欓泦錛?/span> Rule Set 錛夈備竴涓?/span> package 澹版槑浜?/span> imports 錛?/span> global 鍙橀噺錛?/span> functions 鍜?/span> rules 銆?/span>


package 聽com.sample

import 聽java.util.List
import 聽com.sample.Cheese

global聽List聽cheeses

function聽
void 聽exampleFunction(Cheese聽cheese)聽{
聽聽聽聽System.out.println(聽cheese聽);
}

rule聽鈥淎聽Cheesy聽Rule鈥?br />聽聽聽聽when
聽聽聽聽聽聽聽聽cheese聽:聽Cheese(聽type聽
== " stilton " 聽)
聽聽聽聽then
聽聽聽聽聽聽聽聽exampleFunction(聽cheese聽);
聽聽聽聽聽聽聽聽cheeses.add(聽cheese聽);
end

瀵規柊鐨勬暟鎹拰琚慨鏀圭殑鏁版嵁榪涜瑙勫垯鐨勫尮閰嶇О涓烘ā寮忓尮閰嶏紙 Pattern Matching 錛夈傝繘琛屽尮閰嶇殑寮曟搸縐頒負鎺ㄧ悊鏈猴紙 Inference Engine 錛夈傝璁塊棶鐨勮鍒欑О涓?/span> ProductionMemory 錛岃鎺ㄧ悊鏈鴻繘琛屽尮閰嶇殑鏁版嵁縐頒負 WorkingMemory 銆?/span> Agenda 綆$悊琚尮閰嶈鍒欑殑鎵ц銆傛帹鐞嗘満鎵閲囩敤鐨勬ā寮忓尮閰嶇畻娉曟湁涓嬪垪鍑犵錛?/span> Linear 錛?/span> RETE 錛?/span> Treat 錛?/span> Leaps 銆?/span>

Drools 閲囩敤浜?/span> RETE 鍜?/span> Leaps 鐨勫疄鐜般?/span> Drools 鐨?/span> RETE 瀹炵幇琚О涓?/span> ReteOO 錛岃〃紺?/span> Drools 瀵?/span> Rete 綆楁硶榪涜浜嗗姞寮哄拰浼樺寲鐨勫疄鐜般?/span>



涓鏉¤鍒欑殑 LHS 鐢?/span> Conditional Element 鍜屽煙綰︽潫錛?/span> Field Constraints 錛夈備笅闈㈢殑渚嬪瓙鏄劇ず浜嗗涓涓?/span> Cheese Fact 浣跨敤浜嗗瓧闈㈠煙綰︽潫錛?/span> Literal Field Constraint 錛?/span>

rule聽 " Cheddar聽Cheese "
聽聽聽聽when
聽聽聽聽聽聽聽聽Cheese(聽type聽
== " cheddar " 聽)
聽聽聽聽then
聽聽聽聽聽聽聽聽System.out.println(聽
" cheddar " 聽);
end

涓婇潰鐨勮繖涓緥瀛愮被浼間簬錛?/span>

public void 聽cheddarCheese(Cheese聽cheese)聽{
聽聽聽聽
if 聽(聽cheese.getType().equals( " cheddar " )聽{
聽聽聽聽聽聽聽聽System.out.println(聽
" cheddar " 聽);
聽聽聽聽}
}
<!--[if !vml]--> <!--[endif]-->

瑙勫垯寮曟搸瀹炵幇浜嗘暟鎹悓閫昏緫鐨勫畬鍏ㄨВ鑰︺傝鍒欏茍涓嶈兘琚洿鎺ヨ皟鐢紝鍥犱負瀹冧滑涓嶆槸鏂規硶鎴栧嚱鏁幫紝瑙勫垯鐨勬縺鍙戞槸瀵?/span> WorkingMemory 涓暟鎹彉鍖栫殑鍝嶅簲銆傜粨鏋滐紙 Consequence 錛屽嵆 RHS 錛変綔涓?/span> LHS events 瀹屽叏鍖歸厤鐨?/span> Listener 銆?/span>

褰?/span> rules 琚姞鍏?/span> Productioin Memory 鍚庯紝 rules 琚鍒欏紩鎿庣敤 RETE 綆楁硶鍒嗚В鎴愪竴涓浘錛?/span>



褰?/span> Facts 琚?/span> assert 榪涘叆 WorkingMemory 涓悗錛岃鍒欏紩鎿庢壘鍒板尮閰嶇殑 ObjectTypeNode 錛岀劧鍚庡皢姝?/span> Fact 浼犳挱鍒頒笅涓涓妭鐐廣?/span> ObjectTypeNode 鎷ユ湁涓鍧楀唴瀛樻潵淇濆瓨鎵鏈夊尮閰嶇殑 facts 銆傚湪鎴戜滑鐨勪緥瀛愪腑錛屼笅涓涓妭鐐規槸涓涓煙綰︽潫錛?/span> Field Constraint 錛夛紝 type = = 鈥渃heddar鈥?/span> 銆傚鏋滄煇涓?/span> Cheese 瀵硅薄鐨勭被鍨嬩笉鏄?/span> cheddar 鈥濓紝榪欎釜 fact 灝嗕笉浼氳浼犳挱鍒扮綉緇滅殑涓嬩竴涓妭鐐廣傚鏋滄槸鈥?/span> cheddar 鈥濈被鍨嬶紝瀹冨皢琚褰曞埌 AlphaNode 鐨勫唴瀛樹腑錛屽茍浼犳挱鍒扮綉緇滅殑涓嬩竴涓妭鐐廣?/span> AlphaNode 鏄彜鍏?/span> RETE 鏈錛屽畠鏄竴涓崟杈撳叆 / 鍗曡緭鍑虹殑鑺傜偣銆傛渶鍚庨氳繃 AlphaNode 鐨?/span> fact 琚紶鎾埌 Terminal Node 銆?/span> Terminal Node 鏄渶緇堣妭鐐癸紝鍒版鎴戜滑璇磋繖鏉¤鍒欒瀹屽叏鍖歸厤錛屽茍鍑嗗嬋鍙戙?/span>

褰撲竴鏉¤鍒欒瀹屽叏鍖歸厤錛屽畠騫舵病鏈夌珛鍒昏嬋鍙戯紙鍦?/span> RETE 涓槸榪欐牱錛屼絾鍦?/span> Leaps 涓畠浼氱珛鍒昏嬋鍙戯級銆傝繖鏉¤鍒欏拰涓庡叾鍖歸厤鐨?/span> facts 灝嗘縺媧昏鏀懼叆 Agenda 錛岀敱 Agenda 鏉ヨ礋璐e畨鎺掓縺鍙?/span> Activations 錛堟寚鐨勬槸 rule + the matched facts 錛夈?/span>

涓嬮潰鐨勫浘寰堟竻妤氱殑璇存槑浜?/span> Drools 瑙勫垯寮曟搸鐨勬墽琛岃繃紼嬶細


鏁版嵁琚?/span> assert 榪?/span> WorkingMemory 鍚庯紝鍜?/span> RuleBase 涓殑 rule 榪涜鍖歸厤錛堢‘鍒囩殑璇村簲璇ユ槸 rule 鐨?/span> LHS 錛夛紝濡傛灉鍖歸厤鎴愬姛榪欐潯 rule 榪炲悓鍜屽畠鍖歸厤鐨勬暟鎹紙姝ゆ椂灝卞彨鍋?/span> Activation 錛変竴璧瘋鏀懼叆 Agenda 錛岀瓑寰?/span> Agenda 鏉ヨ礋璐e畨鎺掓縺鍙?/span> Activation 錛堝叾瀹炲氨鏄墽琛?/span> rule 鐨?/span> RHS 錛夛紝涓婂浘涓殑鑿卞艦閮ㄥ垎灝辨槸鍦?/span> Agenda 涓潵鎵ц鐨勶紝 Agenda 灝變細鏍規嵁鍐茬獊瑙e喅絳栫暐鏉ュ畨鎺?/span> Activation 鐨勬墽琛岄『搴忋?/span>



junky 2006-06-02 00:23 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 无码日韩人妻AV一区免费l| 日韩精品亚洲专区在线影视| 亚洲六月丁香六月婷婷色伊人| 小说区亚洲自拍另类| 91麻豆国产自产在线观看亚洲 | 亚洲欧洲日韩在线电影| 亚洲精品视频免费| 国产精品酒店视频免费看| 亚洲综合小说久久另类区| 精品免费视在线观看| 一区国严二区亚洲三区| 亚洲人成网亚洲欧洲无码| 91短视频免费在线观看| 国产亚洲真人做受在线观看| 一区二区免费国产在线观看| 久久精品亚洲中文字幕无码麻豆| 中国一级特黄的片子免费| 免费成人在线观看| 国产亚洲欧美日韩亚洲中文色| 国产亚洲精品观看91在线| 韩国二级毛片免费播放| 亚洲精品天堂成人片AV在线播放| 日韩高清免费在线观看| 看Aⅴ免费毛片手机播放| 免费午夜爽爽爽WWW视频十八禁 | 亚洲国产成人久久精品app| 亚洲一区二区视频在线观看| 一个人看的在线免费视频| 亚洲av永久无码制服河南实里| 美女被免费网站91色| 亚洲级αV无码毛片久久精品| 成年女人免费v片| 亚洲日韩中文字幕一区| 亚洲一区二区三区四区在线观看| www.亚洲精品.com| 成年人免费观看视频网站| 亚洲午夜免费视频| 亚洲国产成人久久三区| 亚洲精品无码永久中文字幕| 免费大黄网站在线观| 女人张开腿等男人桶免费视频|