锘??xml version="1.0" encoding="utf-8" standalone="yes"?>精品国产成人亚洲午夜福利,亚洲AV日韩精品久久久久,国产偷窥女洗浴在线观看亚洲http://www.tkk7.com/sshwsfc/category/11579.html闃呰鏈珺log璇瘋嚜澶囧鏂欒涓鍙?/description>zh-cnThu, 20 Mar 2008 22:51:55 GMTThu, 20 Mar 2008 22:51:55 GMT60- Android涓婄殑MSN鍒濊鎴愭晥锝烇綖錛侊紒http://www.tkk7.com/sshwsfc/archive/2008/03/21/187605.html宸矙宸矙Thu, 20 Mar 2008 17:59:00 GMThttp://www.tkk7.com/sshwsfc/archive/2008/03/21/187605.htmlhttp://www.tkk7.com/sshwsfc/comments/187605.htmlhttp://www.tkk7.com/sshwsfc/archive/2008/03/21/187605.html#Feedback0http://www.tkk7.com/sshwsfc/comments/commentRss/187605.htmlhttp://www.tkk7.com/sshwsfc/services/trackbacks/187605.html緇忚繃涓ゅぉ鐨勫姫鍔涳紝緇堜簬鍦ˋndroid涓婇潰璺戣搗鏉SN浜嗐傜幇鍦ㄥ疄鐜頒簡鍩烘湰鐨勮亰澶╁姛鑳斤紝鎵撶畻闄嗙畫鐨勬妸鍏朵粬鍔熻兘瀹屽杽錛屼竾浜嬪紑澶撮毦錛岀浉淇′互鍚庣殑宸ヤ綔浼氬緢欏哄埄銆?/p>
Gtalk鐨勫姛鑳界敱浜庢湁瀹樻柟鏀寔錛屾棭灝卞紕浜嗚窡榪欎釜宸笉澶氱殑鐗堟湰銆?/p>
鍙﹀錛岃繖涓蔣浠剁洰鍓嶆槸浠ユ彃浠剁殑褰㈠紡寮鍙戯紝澶氫竴涓崗璁氨鏄涓涓猘pk錛屽疄鐜頒竴浜沬ntent鍗沖彲銆傚畼鏂圭殑IM鍖呴噷闈㈡湁寰堝鏀寔錛屽彲鎯滄枃妗f病鏈夋彁鍙娿?/p>

Android涓枃璁哄潧鍘熷笘

]]> - Android鍙戝竷, Android涓浗緗戠珯姝e紡鎴愮珛, 嬈㈣繋璁塊棶http://www.tkk7.com/sshwsfc/archive/2007/11/15/160736.html宸矙宸矙Thu, 15 Nov 2007 05:41:00 GMThttp://www.tkk7.com/sshwsfc/archive/2007/11/15/160736.htmlhttp://www.tkk7.com/sshwsfc/comments/160736.htmlhttp://www.tkk7.com/sshwsfc/archive/2007/11/15/160736.html#Feedback0http://www.tkk7.com/sshwsfc/comments/commentRss/160736.htmlhttp://www.tkk7.com/sshwsfc/services/trackbacks/160736.htmlAndroid鏄痝oogle涓烘墜鏈哄紑鍙戠殑鎿嶄綔緋葷粺, 鍩轟簬Linux2.6鍐呮牳.
2007騫?1鏈?2鏃?鍖楃編鏃墮棿), Android鐨凙PP SDK鍏竷, 寮濮嬩簡google鎵嬫満鐨?a class="external text" title="http://code.google.com/android" rel="nofollow">寮鍙戝ぇ璧?/a>. 鎴戜滑鑷村姏浜嶢ndroid鐨勫紑鍙戞枃妗g炕璇? 寮鍙戞妧鏈氦嫻佺瓑宸ヤ綔, 甯屾湜涓篈ndroid騫沖彴鍦ㄤ腑鍥界殑鎺ㄥ箍璐$尞鑷繁鐨勫姏閲?
Andorid鐨凷DK鏄畬鍏ㄩ拡瀵筳ava璁捐鐨? 鐢氳嚦鎻愪緵eclipse鐨勬彃浠? 浣滀負涓涓猨avaer涓嶇爺絀跺疄鍦ㄥ彲鎯?
鐜板湪涓枃鏂囨。宸茬粡鏈変簡鍒濇榪涘睍, 澶у緲昏瘧鐨勭儹鎯呴兘寰堥珮娑? 璁哄潧閲岀殑璁ㄨ涔熷崄鍒嗙儹鐑? 嬈㈣繋鎮ㄧ殑璁塊棶.
鎴戜滑鐨勭綉绔? http://www.androidcn.net
涓枃鏂囨。璁″垝:
http://www.androidcn.net/wiki
PS: 綆$悊鍛樻偍濂? 涓嶇煡閬撹繖涓涓嶇鍚堥欏靛彂甯冪殑瑙勫垯, 瑕佹槸涓嶅Ε鎴戜細鎾や笅, 鎴戜滑閮芥兂涓篈ndroid涓枃鍖栬礎鐚姏閲?/span>

]]> - JBPM鐨凾oken璺緞闂http://www.tkk7.com/sshwsfc/archive/2007/04/24/113217.html宸矙宸矙Tue, 24 Apr 2007 08:04:00 GMThttp://www.tkk7.com/sshwsfc/archive/2007/04/24/113217.htmlhttp://www.tkk7.com/sshwsfc/comments/113217.htmlhttp://www.tkk7.com/sshwsfc/archive/2007/04/24/113217.html#Feedback1http://www.tkk7.com/sshwsfc/comments/commentRss/113217.htmlhttp://www.tkk7.com/sshwsfc/services/trackbacks/113217.htmlProcessInstance閲岄潰鏈変竴涓猣indToken(String tokenPath)鏂規硶銆傝繖閲岄潰鍐欑殑鏄痶okenPath銆?tokenPath璺熸枃浠剁郴緇熺殑瑙勫垯宸笉澶氥傜被浼?/fork1/fork2 榪欐牱鐨勩?br>
閭d箞錛屾庝箞鍒癴ork2涓嬬殑涓涓垎鏀痶oken 錛?br>
token鑷繁涔熸湁findToken榪欎釜鏂規硶錛屼笉鍚岀殑鏄疨rocessInstance鐨勬槸浠ootToken涓鴻搗鐐癸紝token鑷繁鐨勬槸浠ヨ嚜宸變負璧風偣銆傞偅涔堝彇鍒皌oken2涓嬮潰鐨勫垎鏀?br>
token2.findToken("token")
濡傛灉鏈夎繑鍥瀟oken錛屾病鏈夎繑鍥瀗ull
鑷充簬token鐨勫悕瀛楋紝鎴戝垰鎵嶆煡婧愮爜鎵嶅彂鐜幫紝鍙湁鍦‵ork鑺傜偣鎵嶄細緇檛oken璧嬩簣鍚嶅瓧銆傘傘?
閭d箞token2.findToken("token") 榪欓噷"token"閭i噷鏉?
鍛藉悕鐨勮鍒欙紝濡備笅銆傘?nbsp;
String tokenName = null;

if ( transitionName != null )
{

if ( ! parent.hasChild( transitionName ) )
{
tokenName = transitionName;

} else
{
int i = 2;
tokenName = transitionName + Integer.toString( i );

while ( parent.hasChild( tokenName ) )
{
i++;
tokenName = transitionName + Integer.toString( i );
}
}

} else
{ // no transition name
int size = ( parent.getChildren()!=null ? parent.getChildren().size()+1 : 1 );
tokenName = Integer.toString(size);
}
return tokenName;
榪欓噷"token"閭i噷鏉ワ紵榪欎釜token鍚嶅瓧錛屼綘鑷繁鍙互鏍規嵁鍛藉悕瑙勫垯寰楀埌 銆傜湅鍒拌繖閲屽簲璇ュ緢鏄庝簡浜?
token鐨勫懡鍚嶈鍒欙紱棣栧厛鏍規嵁transitionName鐨勫悕瀛楀懡鍚嶏紝榪欎釜transitionName鐨勫悕瀛楁槸浣犺嚜宸辯殑鍐欑殑浣犱笉鍙兘涓嶇煡閬撱?濡傛灉transitionName鐨勫悕瀛楅噸鍚嶄簡錛屽姞鑷劧鏁板尯鍒?褰撶劧錛屽鏋渢ransitionName娌℃湁鍚嶅瓧錛岀敤鍒嗘敮鐨勪釜鏁?1浣滀負鍚嶅瓧銆?
搴旇姣旇緝娓呮浜嗐?
PS錛氳繖涓槸qq鑱婂ぉ璁板綍鐨勬暣鐞嗙増錛屾墍浠ヨ璇濇瘮杈冭寮傘備負鐨勬槸璁板綍涓嬫潵閬垮厤蹇樿錛屼篃鎰熻阿緹ら噷鐨勬湅鍙嬨傚彂鐜頒簰鐩歌В鍐抽棶棰樻槸鎻愰珮姘村鉤鐨勪竴涓嵎寰勩傘?/p>

]]>- 縐閫楃殑JBPMhttp://www.tkk7.com/sshwsfc/archive/2006/08/24/65446.html宸矙宸矙Thu, 24 Aug 2006 03:07:00 GMThttp://www.tkk7.com/sshwsfc/archive/2006/08/24/65446.htmlhttp://www.tkk7.com/sshwsfc/comments/65446.htmlhttp://www.tkk7.com/sshwsfc/archive/2006/08/24/65446.html#Feedback5http://www.tkk7.com/sshwsfc/comments/commentRss/65446.htmlhttp://www.tkk7.com/sshwsfc/services/trackbacks/65446.html
縐閫?銆傛棤涓敓鏈?/strong>
鐪嬪埌鏈鏍稿績鐨凧pdlXmlReader浠g爜鐪熷疄嬈插摥鏃犳唱錛屽鏋滃ソ濂界簿綆綺劇畝錛岃嚦灝戣兘韙㈡帀1/3鐨勪唬鐮併傝屽叾涓敋鑷蟲湁浜涙棤涓敓鏈夌殑浠g爜錛?br />
if聽(聽(actorId!=null)
聽聽聽聽聽聽聽聽聽聽聽||聽(pooledActors!=null)聽

聽聽聽聽聽聽聽聽聽)聽
{
聽聽聽聽聽聽聽聽assignmentDelegation.setProcessDefinition(processDefinition);
聽聽聽聽聽聽聽聽assignmentDelegation.setClassName("org.jbpm.taskmgmt.assignment.ActorAssignmentHandler");
聽聽聽聽聽聽聽聽String聽configuration聽=聽""; 鎴戜滑鐪嬪埌錛屽鏋滅鍚堜箣鍓嶇殑鏉′歡錛屽氨鐢ㄤ唬鐞嗙被鏉ヤ唬鐞?span style="COLOR: #000000">org.jbpm.taskmgmt.assignment.ActorAssignmentHandler榪欎釜綾伙紝浣嗘槸鎵句簡濂藉崐澶╀篃娌℃湁鎵懼埌榪欎釜綾匯傘傘傘?闅鵑亾鏄鐢ㄦ埛鍦ㄨ嚜宸辯殑欏圭洰涓敤榪欎釜綾諱箞錛熻繕鏄負浜嗗吋瀹瑰師鏉ョ殑紼嬪簭錛岋紝灝辯畻鏄叾涓竴縐嶏紝浣嗘槸錛屽彲浣嗘槸錛岃繖涓潯浠舵牴鏈氨涓嶅彲鑳芥弧瓚籌紝涔熷氨鏄榪欐槸孌靛簾璇濓紝鑰屼笖榪樻棤涓敓鏈夌殑鍑烘潵涓狝ctorAssignmentHandler銆傘?br />
縐閫?銆傜敾铔囨坊瓚?/strong>
搴旇鏄垜鐨勫熀鏈姛涓嶉兘鎵庡疄錛屽疄鍦ㄦ槸楂樹笉鏄庣櫧涓嬮潰鐨勪唬鐮佸湪騫蹭粈涔堛傘傘?br />
聽聽public聽void聽setActorId(String聽actorId)聽
{
聽聽聽聽DefaultAuthenticationService聽authenticationService聽=聽(DefaultAuthenticationService)聽services.getAuthenticationService();
聽聽聽聽DefaultAuthenticationService聽defaultAuthenticationService聽=聽(DefaultAuthenticationService)聽authenticationService;
聽聽聽聽defaultAuthenticationService.setActorId(actorId);
聽聽} 鍏堝己鍒惰漿鎹㈡垚DefaultAuthenticationService錛岀劧鍚庡啀寮哄埗杞崲鎴怐efaultAuthenticationService銆傘傘傘?br />鑰屼笖榪欓噷榪欎箞璁捐鍩烘湰涓婂氨鎶奃efaultAuthenticationService瀹炵幇鐨凙uthenticationService鎺ュ彛鏅懼湪閭i噷浜嗭紝鏍規湰灝辨槸搴旇鐢ˋuthenticationService榪欎釜鎺ュ彛鏉ヨ璇濇墠瀵廣俲bpm鐨剆ervice璁捐鐨勬墿灞曟у緢寮猴紝鍙嚜宸遍厤鍒躲備絾濡傛灉榪欎箞鐢╯ervice鐨勮瘽錛屽啀鎬庝箞鎵╁睍涔熸病鐢ㄣ?br />
縐閫?銆傝帿鈥滃悕鈥濆叾濡?/strong>
Jbpm涓彉閲忕殑鍚嶅瓧鐪熺殑鑾悕鍏跺錛屽緢澶氭槑鏄庢槸Map鐨勭被鍨嬩粬鍙玿xList錛岃屼笉鏄疢ap鐨勭被鍨嬶紝浠栧嵈鍙玿xMap銆傝繖涓湴鏂規垜鐩鎬俊搴旇鏄兘浣撶幇鍑虹▼搴忓憳緙栧啓紼嬪簭鐨勪弗璋ㄦх殑鍦版柟錛岃孞bpm浣滅殑榪樹笉澶熷ソ銆?br />
縐閫?銆傚浐鑻ラ噾姹?/strong>
Jbpm鐨勬墿灞曟ц瘡絀垮緇堬紝浣嗘槸鍦ㄦ渶閲嶈鐨勬吵閬撶殑鎵╁睍涓婂嵈灝忓瀛愭皵璧鋒潵銆傜湅鐪嬫吵閬撶被浠g悊鐨勬墿灞曚唬鐮併?br />
if聽(expression!=null)
{
聽聽聽聽聽聽聽聽assignmentDelegation.setProcessDefinition(processDefinition);
聽聽聽聽聽聽聽聽assignmentDelegation.setClassName("org.jbpm.identity.assignment.ExpressionAssignmentHandler");
聽聽聽聽聽聽聽聽assignmentDelegation.setConfiguration("<expression>"+expression+"</expression>");
聽聽聽聽聽聽
聽聽聽聽} 鍐欑殑寰堟槑紜紝濡傛灉娉抽亾浣跨敤琛ㄨ揪寮忔潵琛ㄧず鐨勯偅涔堝氨鐢ㄤ唬鐞嗙被鏉ヤ唬鐞嗗鐞嗚〃杈懼紡銆傘傛垜鏈兂錛屽お濂戒簡錛屽啓鎴戣嚜宸辯殑琛ㄨ揪寮忥紝鐒跺悗浠g悊浜ょ粰Acegi鏉ユ牴鎹〃杈懼紡鍒嗛厤ActorId錛屼絾鏄紝鍙槸錛屼絾鍙槸銆備粬鐨勪唬鐞嗙被灞呯劧鏄啓姝葷殑錛屽啓寰楀氨鏄嚜宸辯殑java.identity鍖呴噷闈㈢殑涓滆タ錛屼笉鏄java.identity璁捐鐨勪笉濂斤紝浣嗘槸涓涓患鍚堢郴緇熺殑鐢ㄦ埛瑙掕壊綆$悊緋葷粺鏄笉鍙兘璺熺潃浣犵殑jbpm璧扮殑銆傚己琛岃鍔犲叆鐨刯ava.identity鐨勮璁℃湁鐐逛繚鎶よ嚜鎴戠殑鎰忔濓紝鐪熺殑鍥鴻嫢閲戞堡錛岃鎴戠粨鍚坅cegi鐨勬兂娉曞張鏄毦涓婂姞闅俱傦紙涓嶈繃榪樻槸鏈夊姙娉曠殑銆傚ぇ瀹惰嚜宸辨壘鎵劇湅錛夈?br />
縐閫?銆傚彛寰勪笉涓
鍙e緞涓嶄竴灝辨槸鎸囦袱涓▼搴忛儴鍒嗙殑緇撳悎涓嶄竴鑷淬傝繖縐嶄緥瀛愬緢澶氾紝鎴戜婦涓涓▼搴忓拰xsd鐨勫啿紿佺殑渚嬪瓙銆?br />Instantiator鏄痡bpm浠g悊閲岄潰涓涓瘮杈冧笉閿欑殑姒傚康銆備唬鐞嗗姛鑳戒箣涓鏄敓鎴愪唬鐞嗙殑綾葷殑瀹炰緥錛岃孖nstantiator鍒欐槸璐熻矗鐢熸垚瀹炰緥鐨勬満鍒訛紝榪欎釜Instantiator璁捐鐨勪笉閿欙紝鍙互鍦ㄩ厤鍒舵枃浠朵腑鐨刢onfig-type灞炴ф潵鎵╁睍銆傜湅紼嬪簭銆?br />
聽聽聽聽聽聽//聽find聽the聽instantiator
聽聽聽聽聽聽instantiator聽=聽(Instantiator)聽instantiatorCache.get(configType);

聽聽聽聽聽聽if聽(instantiator聽==聽null)聽
{
聽聽聽聽聽聽聽聽//聽load聽the聽instantiator聽class
聽聽聽聽聽聽聽聽Class聽instantiatorClass聽=聽classLoader.loadClass(configType);
聽聽聽聽聽聽聽聽//聽instantiate聽the聽instantiator聽with聽the聽default聽constructor
聽聽聽聽聽聽聽聽instantiator聽=聽(Instantiator)聽instantiatorClass.newInstance();
聽聽聽聽聽聽聽聽instantiatorCache.put(configType,聽instantiator);
聽聽聽聽聽聽} 榪欓噷鐨勮璁″緢浜烘у寲錛屽彲浠ユ牴鎹甤onfigType鏉ョ敤鑷繁鐨勬瀯閫犲櫒錛屼絾鏄痻sd鍗翠笉榪欎箞鎯熾?br />
聽聽聽聽聽聽<xs:attribute聽name="config-type"聽default="field">
聽聽聽聽聽聽聽聽<xs:simpleType>
聽聽聽聽聽聽聽聽聽聽<xs:restriction聽base="xs:string">
聽聽聽聽聽聽聽聽聽聽聽聽<xs:enumeration聽value="field"/>
聽聽聽聽聽聽聽聽聽聽聽聽<xs:enumeration聽value="bean"/>
聽聽聽聽聽聽聽聽聽聽聽聽<xs:enumeration聽value="constructor"/>
聽聽聽聽聽聽聽聽聽聽聽聽<xs:enumeration聽value="configuration-property"/>
聽聽聽聽聽聽聽聽聽聽</xs:restriction>
聽聽聽聽聽聽聽聽</xs:simpleType>
聽聽聽聽聽聽</xs:attribute> 鍙互鐪嬪埌瀹冮檺鍒朵簡4縐嶇被鍨嬶紝鍒浣跨敤鑷繁鐨勬瀯閫犲櫒浜嗭紝灝辮繛浠栬嚜宸辯殑XmlInstantiator閮戒笉鍐嶈冭檻鑼冨洿涔嬪唴錛岀湡鏄ぇ涔夌伃浜插憖銆傘?br />
鏋勯犲櫒鏉ヨ繖閲岀殑浣滅敤寰堝ぇ錛屾垜鍐欎簡鑷繁鐨剆pring鏋勯犲櫒錛屾瀯閫犵殑鏃跺欎嬌鐢╞eanFactory鏉ユ瀯閫狅紝榪欐牱灝辯畻鏄瓨鍦ㄦ暟鎹簱閲岄潰鐨刢lass涔熻兘褰撲綔spring鐨刡ean鏉ュ鐞嗐備絾鏄鏋滅敤xsd鐨勮瘽灝變細瀵艱嚧浜ら獙閿欒錛屾墍浠ョ儲鎬ф妸xsd鍘繪帀浜嗭紝榪樺ソ涓鍒囨甯革紝灝辨槸鎰熻鍒壄鐐廣?br />
縐閫桸銆傘傘?鑳藉鐪嬪緱鍑烘潵Jbpm闇瑕佹彁楂樼殑鍦版柟榪樺緢澶氥備絾鏄繖浜涢棶棰樺簲璇ユ槸涓浜涘紑鍙戜漢鍛樼殑灝忕枏蹇斤紝鐩鎬俊鍦ㄤ互鍚庣殑鐗堟湰涓彲浠ユ敼榪涖備笉綆″啀鎬庝箞縐閫楋紝Jbpm鍦ㄥ伐浣滄祦涓粛鐒朵繚鏈夌潃寮哄姴鐨勫湴浣嶏紝瀵笲PM妯″瀷鐨勫疄鐜頒篃浣滅殑鏈涓哄叏闈€傝宩bpm鐨刾ar鐑儴緗插拰IDE涔熸槸鏁翠釜緋葷粺涓殑涓ゅぇ浜偣錛岃繖浜涗紭鐐歸兘鏄笉鍙笉鎻愮殑錛屾墍浠ユ垜浠嶆棫鏀寔Jbpm錛屽笇鏈涗粬鑳芥洿鍔犺繀閫熺殑鍙戝睍澹ぇ璧鋒潵銆傘傘傘?br />
PS錛氭枃涓敊璇箣澶勮繕鏈涘ぇ瀹舵寚鍑猴紝鎴戝笇鏈涙湁浜涒滅閫椻濇槸鎴戣嚜宸辯閫椾簡銆?img src ="http://www.tkk7.com/sshwsfc/aggbug/65446.html" width = "1" height = "1" />
]]> - 鍦ˋcegi涓嬌鐢ˋCLhttp://www.tkk7.com/sshwsfc/archive/2006/06/17/53419.html宸矙宸矙Fri, 16 Jun 2006 16:20:00 GMThttp://www.tkk7.com/sshwsfc/archive/2006/06/17/53419.htmlhttp://www.tkk7.com/sshwsfc/comments/53419.htmlhttp://www.tkk7.com/sshwsfc/archive/2006/06/17/53419.html#Feedback4http://www.tkk7.com/sshwsfc/comments/commentRss/53419.htmlhttp://www.tkk7.com/sshwsfc/services/trackbacks/53419.html
棣栧厛瑕佺悊瑙cegi閲岄潰Voter鐨勬蹇碉紝ACL姝f槸鍦ㄤ竴涓猇oter涓婃墿灞曡搗鏉ョ殑銆傜幇鏉ョ湅涓涓婣clVoter鐨勯厤緗?br />
聽聽聽聽<bean聽id="aclBeanReadVoter"聽class="org.acegisecurity.vote.BasicAclEntryVoter">
聽聽聽聽聽聽聽聽<property聽name="processConfigAttribute">
聽聽聽聽聽聽聽聽聽聽聽聽<value>ACL_READ</value>
聽聽聽聽聽聽聽聽</property>
聽聽聽聽聽聽聽聽<property聽name="processDomainObjectClass">
聽聽聽聽聽聽聽聽聽聽聽聽<value>org.springside.modules.security.acl.domain.AclDomainAware</value>
聽聽聽聽聽聽聽聽</property>
聽聽聽聽聽聽聽聽<property聽name="aclManager">
聽聽聽聽聽聽聽聽聽聽聽聽<ref聽local="aclManager"/>
聽聽聽聽聽聽聽聽</property>
聽聽聽聽聽聽聽聽<property聽name="requirePermission">
聽聽聽聽聽聽聽聽聽聽聽聽<list>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽<ref聽local="org.acegisecurity.acl.basic.SimpleAclEntry.ADMINISTRATION"/>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽<ref聽local="org.acegisecurity.acl.basic.SimpleAclEntry.READ"/>
聽聽聽聽聽聽聽聽聽聽聽聽</list>
聽聽聽聽聽聽聽聽</property>
聽聽聽聽</bean>- ACL_READ鎸囩殑鏄繖涓猇oter瀵瑰摢浜汼ecurityConfig璧蜂綔鐢紝鎴戜滑鍙互鎶?span style="COLOR: #000000">ACL_READ閰嶇疆鍦ㄦ兂瑕佹嫤鎴殑Method涓娿傛瘮鏂硅鎴戜滑瑕佹嫤鎴猺eadOrder榪欎釜鏂規硶錛屼互瀹炵幇ACL鎺у埗錛屽彲浠ヨ繖鏍烽厤緗?br />orderManager.readOrder=ACL_READ
- processDomainObjectClass鎸囧嚭鍝簺DomainObject鏄榪涜ACL鏍¢獙鐨勩?/font>
- aclManager鏄竴涓瘮杈冮噸瑕佺殑姒傚康錛屼富瑕佽礋璐e湪鏉冮檺鍒楄〃涓牴鎹敤鎴峰拰DomainObject鍙栧緱acl鍒楄〃銆?/font>
- requirePermission鎸囧嚭瑕佽繘琛岃繖涓搷浣滃繀欏誨叿澶囩殑acl鏉冮檺錛屾瘮鏂硅read鎿嶄綔灝卞繀欏繪湁ADMINISTRATION鎴朢EAD涓や釜鏉冮檺銆?/font>
鍏跺疄鏁翠釜榪囩▼鐪嬩笅鏉ユ瘮杈冩竻鏅幫紝涓嬮潰鏉ョ湅涓涓婣clManager濡備綍閰嶇疆銆?br />
聽聽聽聽<!--聽=========聽ACCESS聽CONTROL聽LIST聽LOOKUP聽MANAGER聽DEFINITIONS聽=========聽-->

聽聽聽聽<bean聽id="aclManager"聽class="org.acegisecurity.acl.AclProviderManager">
聽聽聽聽聽聽聽聽<property聽name="providers">
聽聽聽聽聽聽聽聽聽聽聽聽<list>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽<ref聽local="basicAclProvider"/>
聽聽聽聽聽聽聽聽聽聽聽聽</list>
聽聽聽聽聽聽聽聽</property>
聽聽聽聽</bean>

聽聽聽聽<bean聽id="basicAclProvider"聽class="org.acegisecurity.acl.basic.BasicAclProvider">
聽聽聽聽聽聽聽聽<property聽name="basicAclDao">
聽聽聽聽聽聽聽聽聽聽聽聽<ref聽local="basicAclExtendedDao"/>
聽聽聽聽聽聽聽聽</property>
聽聽聽聽</bean>

聽聽聽聽<bean聽id="basicAclExtendedDao"聽class="org.acegisecurity.acl.basic.jdbc.JdbcExtendedDaoImpl">
聽聽聽聽聽聽聽聽<property聽name="dataSource">
聽聽聽聽聽聽聽聽聽聽聽聽<ref聽bean="dataSource"/>
聽聽聽聽聽聽聽聽</property>
聽聽聽聽</bean>
寰堟槑鏄続CLManager緇ф壙浜咥cegi鐨勪竴璐鏍鹼紝Provider鍙互鎻愪緵澶氱鍙栧緱ACL璁塊棶鍒楄〃鐨勯斿緞錛岄粯璁ょ殑鏄敤basicAclProvider鍦ㄦ暟鎹簱涓彇寰椼傛棦鐒舵彁鍒頒簡鏁版嵁搴擄紝閭f垜浠氨鏉ョ湅涓涓婣cegi榛樿鎻愪緵鐨凙CL鍦ㄦ暟鎹簱閲岀殑淇濆瓨琛ㄧ粨鏋勶細
CREATE聽TABLE聽acl_object_identity聽(
id聽IDENTITY聽NOT聽NULL,
object_identity聽VARCHAR_IGNORECASE(250)聽NOT聽NULL,
parent_object聽INTEGER,
acl_class聽VARCHAR_IGNORECASE(250)聽NOT聽NULL,
CONSTRAINT聽unique_object_identity聽UNIQUE(object_identity),
FOREIGN聽KEY聽(parent_object)聽REFERENCES聽acl_object_identity(id)
);
CREATE聽TABLE聽acl_permission聽(
id聽IDENTITY聽NOT聽NULL,
acl_object_identity聽INTEGER聽NOT聽NULL,
recipient聽VARCHAR_IGNORECASE(100)聽NOT聽NULL,
mask聽INTEGER聽NOT聽NULL,
CONSTRAINT聽unique_recipient聽UNIQUE(acl_object_identity,聽recipient),
FOREIGN聽KEY聽(acl_object_identity)聽REFERENCES聽acl_object_identity(id)
);- acl_object_identity琛ㄥ瓨鏀句簡鎵鏈夊彈淇濇姢鐨刣omainObject鐨勪俊鎭傚叾涓璷bject_identity瀛楁淇濆瓨浜哾omainObject鐨刢lass鍜宨d錛岄粯璁ょ殑淇濆瓨鏍煎紡鏄細domainClass:domainObjectId銆?/li>
- acl_permission聽灝辨槸ACL鏉冮檺鍒楄〃浜嗭紝recipient聽鏄敤鎴鋒垨瑙掕壊淇℃伅錛宮ask琛ㄧず浜嗚繖涓敤鎴鋒垨瑙掕壊瀵硅繖涓猟omainObject鐨勮闂潈闄愩傛敞鎰忚繖浜涗俊鎭殑淇濆瓨鏍煎紡閮芥槸鍙互鏍規嵁鑷繁鐨勯渶瑕佹敼鍙樼殑銆?/li>
榪欐牱璇誨彇鍜屽垹闄ょ殑鏃跺橝cegi灝辮兘寰堝ソ鐨勫畬鎴愭嫤鎴伐浣滐紝浣嗘槸璇誨彇涓涓狶ist鐨勬椂鍊欙紝濡備綍鎵嶈兘鎶婅鐢ㄦ埛涓嶈兘鎿嶄綔鐨刣omainObject鍓旈櫎鎺夊憿錛熻繖灝遍渶瑕乤fterInvocationManager鏉ュ畬鎴愯繖涓伐浣溿備笅闈㈡潵鐪嬩笅閰嶇疆錛?br />
聽聽聽聽<!--聽==============聽"AFTER聽INTERCEPTION"聽AUTHORIZATION聽DEFINITIONS聽===========聽-->

聽聽聽聽<bean聽id="afterInvocationManager"聽class="org.acegisecurity.afterinvocation.AfterInvocationProviderManager">
聽聽聽聽聽聽聽聽<property聽name="providers">
聽聽聽聽聽聽聽聽聽聽聽聽<list>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽<ref聽local="afterAclCollectionRead"/>
聽聽聽聽聽聽聽聽聽聽聽聽</list>
聽聽聽聽聽聽聽聽</property>
聽聽聽聽</bean>
聽聽聽聽<!--聽Processes聽AFTER_ACL_COLLECTION_READ聽configuration聽settings聽-->
聽聽聽聽<bean聽id="afterAclCollectionRead"聽class="org.acegisecurity.afterinvocation.BasicAclEntryAfterInvocationCollectionFilteringProvider">
聽聽聽聽聽聽聽聽<property聽name="aclManager">
聽聽聽聽聽聽聽聽聽聽聽聽<ref聽local="aclManager"/>
聽聽聽聽聽聽聽聽</property>
聽聽聽聽聽聽聽聽<property聽name="requirePermission">
聽聽聽聽聽聽聽聽聽聽聽聽<list>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽<ref聽local="org.acegisecurity.acl.basic.SimpleAclEntry.ADMINISTRATION"/>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽<ref聽local="org.acegisecurity.acl.basic.SimpleAclEntry.READ"/>
聽聽聽聽聽聽聽聽聽聽聽聽</list>
聽聽聽聽聽聽聽聽</property>
聽聽聽聽</bean>
afterAclCollectionRead浼氬湪鎷︽埅鐨勬柟娉曟墽琛岀粨鏉熺殑鏃跺欐墽琛屻備富瑕佺殑浣滅敤灝辨槸鍦ㄨ繑鍥炵殑List涓尐涓鏌omainObject鐨勬搷浣滄潈闄愶紝鐒跺悗鏍規嵁requirePermission鏉ュ墧闄や笉絎﹀悎鐨刣omainObject銆?/font>
]]> - 鍏充簬Drools鐨勫垵姝ワ紝榪烽唹鐘舵佽璇?/title>http://www.tkk7.com/sshwsfc/archive/2006/05/28/48622.html宸矙宸矙Sun, 28 May 2006 12:53:00 GMThttp://www.tkk7.com/sshwsfc/archive/2006/05/28/48622.htmlhttp://www.tkk7.com/sshwsfc/comments/48622.htmlhttp://www.tkk7.com/sshwsfc/archive/2006/05/28/48622.html#Feedback7http://www.tkk7.com/sshwsfc/comments/commentRss/48622.htmlhttp://www.tkk7.com/sshwsfc/services/trackbacks/48622.htmlspringside鍙楃櫧琛g殑褰卞搷寮濮嬪叧娉╠rools銆傝浠栨槸騫蟲皯鐨勮剼鏈紩鎿庝竴鐐歸兘涓嶅亣錛屼嬌鐢ㄨ搗鏉ユ瀬涓烘柟渚匡紝鏈潵浠ヤ負緗戜笂搴旇鏈変笉灝戠殑璁茶В浜嗭紝浣嗘槸鍙戠幇鍑犱箮鍏ㄦ槸閽堝2.0鐗堟湰璁茶В鐨勩傝宒rools鍔犲叆jboss鍚庢湁浜嗚川鐨勫彉鍖栵紝涓嬮潰鏉ョ湅涓涓嬫渶鏂扮殑3.0浣跨敤璧鋒潵鏈変粈涔堜笉鍚岋細
棣栧厛鎴戜滑瑕佸彇寰梤ule錛岃鍒欏紩鎿庛佽鍒欏紩鎿庯紝鍙栧緱瑙勫垯鏄繀瑕佺殑銆?br />
private聽static聽RuleBase聽readRule()聽throws聽Exception聽
{
聽聽聽聽聽聽聽聽//read聽in聽the聽source
聽聽聽聽聽聽聽聽Reader聽source聽=聽new聽InputStreamReader(聽DroolsTest.class.getResourceAsStream(聽"/aclcreat.drl"聽)聽);
聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽//optionally聽read聽in聽the聽DSL聽(if聽you聽are聽using聽it).
聽聽聽聽聽聽聽聽Reader聽dsl聽=聽new聽InputStreamReader(聽DroolsTest.class.getResourceAsStream(聽"/mylang.dsl"聽)聽);

聽聽聽聽聽聽聽聽//Use聽package聽builder聽to聽build聽up聽a聽rule聽package.
聽聽聽聽聽聽聽聽//An聽alternative聽lower聽level聽class聽called聽"DrlParser"聽can聽also聽be聽used
聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽PackageBuilder聽builder聽=聽new聽PackageBuilder();

聽聽聽聽聽聽聽聽//this聽wil聽parse聽and聽compile聽in聽one聽step
聽聽聽聽聽聽聽聽//NOTE:聽There聽are聽2聽methods聽here,聽the聽one聽argument聽one聽is聽for聽normal聽DRL.
聽聽聽聽聽聽聽聽//builder.addPackageFromDrl(聽source聽);

聽聽聽聽聽聽聽聽//Use聽the聽following聽instead聽of聽above聽if聽you聽are聽using聽a聽DSL:
聽聽聽聽聽聽聽聽builder.addPackageFromDrl(聽source,聽dsl聽);
聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽//get聽the聽compiled聽package聽(which聽is聽serializable)
聽聽聽聽聽聽聽聽Package聽pkg聽=聽builder.getPackage();
聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽//add聽the聽package聽to聽a聽rulebase聽(deploy聽the聽rule聽package).
聽聽聽聽聽聽聽聽RuleBase聽ruleBase聽=聽RuleBaseFactory.newRuleBase();
聽聽聽聽聽聽聽聽ruleBase.addPackage(聽pkg聽);
聽聽聽聽聽聽聽聽return聽ruleBase;
聽聽聽聽}
榪欓噷鍦ㄥ畼鏂圭殑渚嬪瓙鍩虹涓婂仛浜嗚嚜宸辯殑瀹炵幇(鍏跺疄浠涔堥兘娌℃敼)銆?br />
鍙互鐪嬪埌錛岀涓姝ユ槸鍙栧緱鏂囦歡IO錛岃繖涓枃浠跺氨鏄垜浠鍐欏緱瑙勫垯鑴氭湰錛岃繖涓瓑涓嬪啀璇達紝澶у鍙互鍋囪薄涓涓嬭剼鏈槸涓粈涔堟牱瀛愶紝鐜板湪鍙鎬庝箞鍦ㄧ▼搴忎腑鍙栧緱Rule銆?br />鎺ヤ笅鏉ワ紝鏄嬌鐢˙uilder鍙栧緱涓涓猵ackage錛屾棦鐒禸uilder閮戒笂鏉ヤ簡璇存槑鑳借緭鍏ョ殑鑴氭湰涓嶆涓涓簡銆傜敤addPackageFromDrl鍚戣繖涓猙uilder鍘嬬緝鏈洪噷闈㈣緭鍏ヨ剼鏈紝褰撶劧榪樻湁鍙﹀涓涓枃浠禿sl錛岃繖涓悗闈㈠啀璇淬傚埄鐢╞uilder鍙栧緱package銆?br />
鏈鍚庢瀯閫犱竴涓狟aseRule錛屽埄鐢‵actory鍙栧緱鐨勬椂鍊欐槸鏈夐夋嫨鐨勶紝RuleBaseFactory.newRuleBase(int type)鍏朵腑鐨則ype鍙互涓轟笉鍚岀殑Algorithm錛屾湁RETE鍜孡eaps 涓ょ銆傚榪欎袱縐岮lgorithm鐨勫叿浣撹В閲婂彲浠ュ弬鐪?http://citeseer.ist.psu.edu/context/505087/0聽鎴栨槸 drools鐨勬枃妗o紝鍏跺疄鎴戜篃涓嶅お鎳傘?br />
鎶婂垰鎵嶇殑package娣誨埌ruleBase閲岄潰涓涓猂ule灝卞ぇ鍔熷憡鎴愪簡銆?br />
鎺ヤ笅鏉ョ湅鐪嬫庝箞鎵ц瀹冿細
聽聽聽聽聽聽聽聽聽聽聽聽WorkingMemory聽workingMemory聽=聽ruleBase.newWorkingMemory();
聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽//go聽!
聽聽聽聽聽聽聽聽聽聽聽聽Order聽order聽=聽new聽Order();
聽聽聽聽聽聽聽聽聽聽聽聽order.setId(1);
聽聽聽聽聽聽聽聽聽聽聽聽order.setName("testOrder");
聽聽聽聽聽聽聽聽聽聽聽聽order.setTotlePrice(10);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽User聽user聽=聽new聽User();
聽聽聽聽聽聽聽聽聽聽聽聽user.setName("testAdmin");
聽聽聽聽聽聽聽聽聽聽聽聽user.setAuth("USER_ADMIN");
聽聽聽聽聽聽聽聽聽聽聽聽List<String>聽roles聽=聽new聽ArrayList<String>();
聽聽聽聽聽聽聽聽聽聽聽聽roles.add("ADMIN");
聽聽聽聽聽聽聽聽聽聽聽聽user.setRoles(roles);
聽聽聽聽聽聽聽聽聽聽聽聽

聽聽聽聽聽聽聽聽聽聽聽聽User聽user1聽=聽new聽User();
聽聽聽聽聽聽聽聽聽聽聽聽user1.setName("testUser");
聽聽聽聽聽聽聽聽聽聽聽聽user1.setAuth("USER_USER");
聽聽聽聽聽聽聽聽聽聽聽聽List<String>聽roles1聽=聽new聽ArrayList<String>();
聽聽聽聽聽聽聽聽聽聽聽聽roles1.add("USER");
聽聽聽聽聽聽聽聽聽聽聽聽user1.setRoles(roles1);
聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽workingMemory.assertObject(order);
聽聽聽聽聽聽聽聽聽聽聽聽workingMemory.assertObject(user);
聽聽聽聽聽聽聽聽聽聽聽聽workingMemory.assertObject(user1);
聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽workingMemory.fireAllRules();聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽List<AclEntry>聽acls聽=聽workingMemory.getObjects(AclEntry.class);
鐢╮uleBase鐢熸垚涓涓猈orkingMemory錛學orkingMemory鏄疪ule鐨勬墽琛屽紩鎿庯紝瑁呰澆rule鍜屼簨瀹?寰堥噸瑕佺殑姒傚康)錛屽茍緇熶竴鎵ц浠栦滑銆傛帴涓嬫潵鎴戝氨鍦ㄥ啓鎴戠殑浜嬪疄錛屼簨瀹炴槸浠涔堬紝浜嬪疄灝辨槸浠婂ぉ鏄粈涔堝ぉ錛熻鍗曟諱環澶氬皯錛熷氨鏄鍛婅瘔鑴氭湰鐨刯ava瀵硅薄銆傜劧鍚庢妸浜嬪疄涓涓鍘嬪叆WorkingMemory榪欎釜澶у帇緙╂満銆傚氨鐬уソ鍚с?
OK鍙互鎵ц浜嗭紝fireAllRules!錛堢湡TM錛孋OOL鐨勫悕瀛楋級銆傚綋鐒舵湁鍏ㄩ儴鎵ц灝辨湁閮ㄥ垎鎵ц銆備綘鍙互鎶婅鍒欏垎緇勶紝鐒跺悗鎸夌粍鎵ц錛屾垨鏄寚瀹歳ule鐨勫悕瀛楁潵鎵ц(榪欓噷榪樻槸澶у鑷繁鐪嬬湅鍚?銆?br />
錛燂紵錛熺┒绔熸墽琛屼簡浠涔堛傚綋鐒舵槸鎵ц浜嗘垜浠殑鑴氭湰錛岃剼鏈湪榪欓噷銆佺湅鐪嬪畠鍙笉鏄痻ml浜嗭細
#created聽on:聽2006-5-19
package聽com.sample;

#list聽any聽import聽classes聽here.

import聽com.sample.domain.Order;
import聽com.sample.domain.User;

import聽com.sample.AclEntry;
#expander聽mylang.dsl

#declare聽any聽global聽variables聽here

rule聽"Order聽TotlePrice聽more聽than聽$1000"聽聽聽聽
聽聽聽聽when
聽聽聽聽聽聽聽聽#conditions
聽聽聽聽聽聽聽聽$order聽:聽Order(聽totlePrice聽>聽1000聽)
聽聽聽聽聽聽聽聽$user聽:聽User(聽roles聽contains聽"ADMIN"聽,聽$userName聽:聽name)
聽聽聽聽then聽
聽聽聽聽聽聽聽聽#actions
聽聽聽聽聽聽聽聽System.out.println("More聽Than");
聽聽聽聽聽聽聽聽assert(new聽AclEntry($order,聽$user,聽1));
end

rule聽"Order聽TotlePrice聽less聽or聽equl聽than聽$1000"聽聽聽聽
聽聽聽聽when
聽聽聽聽聽聽聽聽#conditions
聽聽聽聽聽聽聽聽$order聽:聽Order(聽totlePrice聽<=聽1000聽)
聽聽聽聽聽聽聽聽$user聽:聽User(聽$userName聽:聽name聽)
聽聽聽聽then聽
聽聽聽聽聽聽聽聽#actions
聽聽聽聽聽聽聽聽System.out.println("Less聽Than");
聽聽聽聽聽聽聽聽assert(new聽AclEntry($order,聽$user,聽2));
end
姣忎竴涓猺ule灝辨槸涓涓鍒欙紝鎵鏈夌殑浜嬪疄瑕佷竴涓榪囦竴閬嶈繖浜涜鍒欍倃hen鏄鍒欐彁鍑虹殑鏉′歡錛屽鏋滃摢涓簨瀹炵鍚堣繖涓潯浠訛紝灝辮繘鍏hen鐨勭幆鑺傦紝榪涜鐩稿簲鐨勫鐞嗐?br />
鍒嗘瀽涓涓嬫潯浠訛細$order聽:聽Order(聽totlePrice聽>聽1000聽)銆備竴鐪嬪氨鐭ラ亾鏄諱環瓚呰繃1000鐨勮鍗曘?order鏄妸榪欎釜璁㈠崟閭﹀畾錛屽悗闈㈠彲浠ヤ嬌鐢ㄣ?br />鍒嗘瀽涓涓媡hen錛毬燬ystem.out.println灝變笉瑙i噴浜嗐?span style="COLOR: #0000ff">assert(new聽AclEntry($order,聽$user,聽2)); 榪欓噷鐨刟ssert鐨勬剰涔夊氨鏄憡璇塛orkingMemory涓涓簨瀹烇紝鍏跺疄璺熷墠闈㈢殑鍔犲叆浜嬪疄涓涓亾鐞嗐傛墦涓瘮鏂癸紝濡傛灉鏈夐棯鐢碉紝閭d箞灝辨湁闆楓?br />
榪欐牱璧板畬涓涓猺ule鍚庡ぇ瀹跺緢瀹規槗鍙戠幇錛屽叾瀹炴槸鏍規嵁璁㈠崟鍜岀敤鎴風殑瑙掕壊涓嶅悓浜х敓浜嗕笉鍚岀殑acl錛岀劧鍚庢垜瑕佹嬁鍒拌繖浜涚敱浜嬪疄寰楀埌鐨勪簨瀹炪?br />
List<AclEntry>聽acls聽=聽workingMemory.getObjects(AclEntry.class); 榪欐牱灝辮兘鍦╳orkingMemory閲岄潰鎺忓嚭鎴戜滑闇瑕佺殑浜嬪疄鏉ワ紝鏂伴矞鍑虹倝鐨勫摝銆?br />
鐩稿綋綺楃暐鐨勮浜嗕竴涓媎rools錛岀洰鐨勬槸甯屾湜澶у閮芥潵浜嗚В涓涓嬶紝鍏卞悓瀛︿範銆?img src ="http://www.tkk7.com/sshwsfc/aggbug/48622.html" width = "1" height = "1" />
]]>
主站蜘蛛池模板:
eeuss免费影院|
色妞WWW精品免费视频|
国产一区二区三区免费|
永久黄色免费网站|
国产一区二区三区在线观看免费
|
美女视频黄是免费的网址|
免费一级黄色毛片|
亚洲国产福利精品一区二区|
无码的免费不卡毛片视频|
无码av免费毛片一区二区|
亚洲制服丝袜精品久久|
成人性生交视频免费观看|
亚洲高清在线播放|
一区二区三区在线观看免费|
免费看的成人yellow视频|
亚洲精品免费在线视频|
光棍天堂免费手机观看在线观看|
男人的天堂亚洲一区二区三区
|
亚洲AV美女一区二区三区|
免费无码又爽又刺激高潮视频|
亚洲午夜日韩高清一区|
色欲aⅴ亚洲情无码AV|
四虎永久在线精品免费网址
|
亚洲AV无码专区在线亚
|
麻花传媒剧在线mv免费观看|
亚洲国产精品一区二区三区在线观看|
久久精品视频免费播放|
亚洲一区无码中文字幕|
国产99久久久国产精免费|
香蕉蕉亚亚洲aav综合|
黄网站色在线视频免费观看|
在线免费观看亚洲|
一级毛片在线免费看|
久久精品国产亚洲AV麻豆王友容|
成人网站免费大全日韩国产|
久久精品国产精品亚洲人人
|
日韩亚洲国产二区|
久草免费手机视频|
国产成人精品久久亚洲高清不卡
|
亚洲国产成人久久99精品|
国产中文字幕免费|