ESP-iSYS骞宠嚭闁嬬櫦(f膩)JAVA瀵︽檪鎳�(y墨ng)鐢ㄧ郴绲�(t菕ng)
鏅傞枔锛�2008-04-25 14:42:00渚嗘簮锛歞ujing
灏�(d菐o)瑾烇細?瀵︽檪鏁�(sh霉)鎿�(j霉)搴郴绲�(t菕ng)浣滅偤鐝�(xi脿n)浠d俊鎭郴绲�(t菕ng)鐨勬牳蹇�锛屾槸浼佹キ(y猫)绱氭噳(y墨ng)鐢ㄧ殑瀵︽檪鏁�(sh霉)鎿�(j霉)涓锛岄€氶亷瑭茬郴绲�(t菕ng)锛屼笂灞ゆ噳(y墨ng)鐢ㄧ郴绲�(t菕ng)锛堝 ERP 绯荤当(t菕ng)锛�锛屽彲浠ョ嵅寰楄壇濂界殑瀵︽檪绲�(t菕ng)瑷堟暩(sh霉)鎿�(j霉)鍜屽鏅傜当(t菕ng)瑷堜俊鎭殑鏀拹銆�
瀵︽檪鏁�(sh霉)鎿�(j霉)搴郴绲�(t菕ng)浣滅偤鐝�(xi脿n)浠d俊鎭郴绲�(t菕ng)鐨勬牳蹇�锛屾槸浼佹キ(y猫)绱氭噳(y墨ng)鐢ㄧ殑瀵︽檪鏁�(sh霉)鎿�(j霉)涓锛岄€氶亷瑭茬郴绲�(t菕ng)锛屼笂灞ゆ噳(y墨ng)鐢ㄧ郴绲�(t菕ng)锛堝 ERP 绯荤当(t菕ng)锛�锛屽彲浠ョ嵅寰楄壇濂界殑瀵︽檪绲�(t菕ng)瑷堟暩(sh霉)鎿�(j霉)鍜屽鏅傜当(t菕ng)瑷堜俊鎭殑鏀拹銆傞毃钁桽UPCON瀵︽檪鏁�(sh霉)鎿�(j霉)搴湪鐝�(xi脿n)浠d紒妤�(y猫)淇℃伅鍖栧缓瑷�(sh猫)鐣朵腑寰楀埌浜嗚秺渚嗚秺寤f硾鐨勬噳(y墨ng)鐢�锛屼笉浣嗗皪WINDOWS骞宠嚭涓婁富娴佺法绋嬭獮瑷€鎻愪緵浜嗚壇濂界殑鏀寔锛岃€屼笖鍦‥SP-iSYS4.0鐗堟湰涓偤Java瑾炶█鐨勯枊鐧�(f膩)鎻愪緵浜咼Rtdbc鎺ュ彛搴�锛岃┎鎺ュ彛鍦↗dk1.5骞宠嚭涓婇枊鐧�(f膩)锛屽叾鑹ソ鐨勯潰鍚�?q奴)慰绗(sh猫)瑷堣垏瀵︾従(xi脿n)甯朵締浜嗘瘡绉掕í鍟忕鐩ゆ暩(sh霉)鎿�(j霉)50000榛炰互涓婄殑楂樻€ц兘锛屾渶澶у寲鐨勬豢瓒充簡宸ユキ(y猫)瀵︽檪鎳�(y墨ng)鐢ㄦ€ц兘闇€姹�锛屽湪绗﹀悎Java绱旈潰鍚�?q奴)慰锜湪骞婄敯L鏍肩殑鍚屾檪锛屽張鎵撶牬浜咼ava瑾炶█浣庢晥鐨勬潫绺�锛屼互JRtdbc鐐烘⿱姊�锛屾噳(y墨ng)鐢↗ava瑾炶█鍙互鏂逛究蹇€熺殑闁嬪嚭鍚勭ó鍎�(y艒u)绉€鐨勫鏅傛噳(y墨ng)鐢�銆傞€氶亷闁辫畝鏈枃锛岃畝鑰呬笉鍍呰兘鐢↗Rtdbc閫茶java瀵︽檪鎳�(y墨ng)鐢ㄧ殑闁嬬櫦(f膩)锛岃€屼笖鑳藉鍏呭垎楂旀渻鍒癑Rtdbc鎻愪緵鐨勭啊鍠揩閫熼枊鐧�(f膩)鐨勫劒(y艒u)瓒婃€�銆�
涓€ 绯荤当(t菕ng)绲�(ji茅)妲�(g貌u)
鏁村€婮Rtdbc鐨勫皪璞″堡娆$祼(ji茅)妲�(g貌u)锛�
[align=center]

绯荤当(t菕ng)绺介珨绲�(ji茅)妲�(g貌u)鍦� -1[/align]
濡備笂UML鍦栵紝瀵︽檪鏁�(sh霉)鎿�(j霉)搴暥涓殑灏嶈薄楂旂郴琚槑纰虹殑鏄犲皠鍒颁簡JRtdbc涓�锛岄毐钘忎簡瀵︽檪鏁�(sh霉)鎿�(j霉)搴殑涓€浜涜壉婢€鐨勬蹇碉紝鍏朵腑IConnectionPool鐐洪€f帴姹�锛岄浼间簬jdbc鐨勬暩(sh霉)鎿�(j霉)搴€f帴姹�锛屼篃鏄敤JRtdbc閫茶闁嬬櫦(f膩)鏅傜涓€鍊嬭鐛插緱鐨勫皪璞�锛屽彲浠ラ€氶亷鍏剁嵅鍙栧鏅傛暩(sh霉)鎿�(j霉)搴€f帴IConnection锛屽鏅傛暩(sh霉)鎿�(j霉)搴€f帴鑱氬悎浜嗙郴绲�(t菕ng)鐨勫洓鍊嬫牳蹇冨伐寤�
鍚嶇ū 鍔熻兘
ITagFactory 鐛插彇浣嶈櫉/浣嶈櫉绲勫渚�銆�
IUserFactory 娣诲姞鍒櫎鏋氳垑鐢ㄦ埗/鐢ㄦ埗绲勩€�
ITypeFactory 娣诲姞鍒櫎鏋氳垑灏嶈薄椤炲瀷銆�
IRegion getRegionRoot锛堬級 鐛插彇灏嶈薄妯规牴绡€(ji茅)榛�锛岄亶姝峰鏅傛暩(sh霉)鎿�(j霉)搴皪璞℃ü
閫氶亷宸ュ粻鏂规硶锛屽彲浠ュ緱鍒板鏅傛暩(sh霉)鎿�(j霉)搴殑鍥涘ぇ鍔熻兘妯″锛屼綅铏熻垏浣嶈櫉绲勶紱鐢ㄦ埗鑸囩敤鎴剁祫锛涘皪璞¢鍨嬭垏娆�(qu谩n)闄愰珨绯�锛涙暣鍊嬪鏅傛暩(sh霉)鎿�(j霉)搴皪璞℃ü鐨勮í鍟忚垏鎿嶄綔锛涜ō(sh猫)瑷堜竴鑷磋€屼笖娓呮櫚锛岃畵闁嬬櫦(f膩)浜哄摗鏇村鏄撶悊瑙h垏浣跨敤锛屼笅闈㈤€愪竴閫茶浠嬬垂骞惰瑳瑙d娇鐢ㄦ柟娉�銆�
浜� 浣跨敤鏂规硶
瀵︽檪鏁�(sh霉)鎿�(j霉)搴€f帴鐨勫缓绔�
JRtdbc鎻愪緵浜嗛€f帴姹犲伐寤燩oolFactory锛屽寘鍚簩鍊嬪伐寤犳柟娉曪細
IConnectionPool getPool锛堬級 ; Œ
IConnectionPool getPool锛坕nt poolLength,int timeout锛� ;
鍏朵腑宸ュ粻鏂规硶Œ鐢ㄤ簬妲�(g貌u)寤洪粯瑾嶅弮鏁�(sh霉)閰嶇疆鐨勯€f帴姹犲渚�锛屽伐寤犳柟娉�鍏佽ū鐢ㄦ埗鑷畾缇╅€f帴姹犻厤缃�锛屽弮鏁�(sh霉)poolLength瀹氱京鐐洪€f帴姹犻€f帴涓婇檺锛屽鏋滄睜涓湭閬斿埌涓婇檺锛屾湁鏂伴€f帴璜嬫眰锛岀洿鎺ユ柊寤洪€f帴鏀惧叆姹犱腑杩斿洖锛屽宸查仈涓婇檺锛屽墖鍎熻│閲嶇櫥閷勫叾浠栫敤鎴剁┖闁戦€f帴锛岀劇绌洪枒閫f帴瀛樺湪鍓囬€插叆闃诲鐙€鎱�(t脿i)鐩村埌鏈夐€f帴閲嬫斁锛屽緸鑰屼繚璀変簡绯荤当(t菕ng)涓嶆渻鐒¢檺鍒跺湴澧炲姞骞剁櫦(f膩)閫f帴骞朵笖鍙互鍏呭垎鍒╃敤绌洪枒閫f帴銆傚弮鏁�(sh霉)timeout瀹氱京鐐洪€f帴姹犱腑鐨勯€f帴绌洪枒閬斿埌涓€鍊嬬郸瀹氱殑姣鏁�(sh霉)鍚庡氨鑷嫊閲嬫斁閫f帴锛屽緸鑰岄€蹭竴姝ョ瘈(ji茅)鐪佸鏅傛暩(sh霉)鎿�(j霉)搴€f帴璩囨簮銆侷ConnectionPool 閫f帴姹犳帴鍙o紝閫氶亷getConnection锛圫tring conStr锛夋柟娉曠嵅鍙栦竴鍊嬭垏瀵︽檪鏁�(sh霉)鎿�(j霉)搴箣闁撶殑閫f帴IConnection銆侸Rtdbc閫f帴姹犵稉(j墨ng)閬庡皥闁€瑷�(sh猫)瑷�锛岀敤鎴跺彧闋堢嵅寰楅€f帴锛屽儚鏅€氬皪璞′竴妯h(di脿o)鐢紝鐒¢爤鑰冩叜搴曞堡閫f帴鐙€鎱�(t脿i)锛屽畬鍏ㄧ敱閫f帴姹犳墭绠★紝鎿鸿劔浜嗗儚Jdbc閭gó鐛插緱閫f帴鍚庨倓瑕佹檪鏅備笉蹇榗lose锛堬級鐨勯偅绋叐鎯�锛岄檷浣庝簡浣跨敤寰�(f霉)闆滃害銆傚浣曠嵅鍙栧鏅傛暩(sh霉)鎿�(j霉)搴€f帴锛�
//棣栧厛鐛插緱閫f帴姹犲渚�锛岃兘閬庨€f帴瀛楃涓插緱鍒伴€f帴IConnection瀵︿緥
IConnectionPool pool = PoolFactory.getPool锛堬級;
IConnection conn = pool.getConnection锛� String conStr 锛� ;
閫f帴瀛楃涓叉牸寮忥細
host:192.168.0.171:5051;user=xxxxxx;password=xxxxxx;
鍏朵腑鍚勫瓧娈靛叿楂斿惈缇╁涓嬶細
瀛楁 鍚京
host 鐐哄鏅傛暩(sh霉)鎿�(j霉)搴墍鍦ㄨ▓绠楁鐨処P鍜岀鍙�锛屽叾涓紝鍓峹xx.xxx.xxx.xxx鎸囦竴鍊�4娈靛紡IP鍦板潃锛屸€滐細鈥濆悗鐐哄鏅傛暩(sh霉)鎿�(j霉)搴殑绔彛鍦板潃
user 鐢ㄦ埗鍚�锛屾湁鏁堝収(n猫i)瀹圭偤澶у皬瀵嫳鏂囧瓧姣�銆佷笅鍔冪窔
password 瀵嗙⒓锛屾湁鏁堝収(n猫i)瀹圭偤澶у皬瀵嫳鏂囧瓧姣�銆佹暩(sh霉)瀛椼€佷笅鍔冪窔銆侀€e瓧绗�
濡傛灉寤虹珛閫f帴鎴愬姛锛屽墖杩斿洖涓€鍊嬫湁鏁堢殑IConnection灏嶈薄瀵︿緥锛屽鏋滃湪閫f帴寤虹珛閬庣▼涓瓨鍦ㄧ暟甯告儏娉侊紝鍓囨媼鍑篒OException椤炲瀷鐨勭暟甯�銆�
浣嶈櫉鑸囦綅铏熺祫
浣嶈櫉鏄瓨鍎插湪瀵︽檪鏁�(sh霉)鎿�(j霉)搴暥涓殑鏁�(sh霉)鎿�(j霉)榛烇紝灏嶆噳(y墨ng)搴曞堡鎺у埗绯荤当(t菕ng)鐨勬暩(sh霉)鎿�(j霉)婧�锛岄€氶亷JRtdbc鏇濋湶绲︾敤鎴剁殑鍙槸涓€鍊嬬啊鍠殑ITag灏嶈薄锛岃(di脿o)鐢ㄥ叾鏂规硶鍗冲彲灏嶄綅铏�/浣嶈櫉绲勯€茶鎿嶄綔锛屽伐妤�(y猫)鐝�(xi脿n)鍫寸殑鎺у埗瑷�(sh猫)鍌欙紝鍦ㄦ彁渚涙暩(sh霉)鍊肩殑鍚屾檪锛屼篃鎻愪緵浜嗗皪鏁�(sh霉)鍊艰唱(zh矛)閲忕殑鍒ゆ柗锛屾墍浠�锛屽鏅傛暩(sh霉)鎿�(j霉)搴腑鐨勬暩(sh霉)鎿�(j霉)鏄湁璩�(zh矛)閲忕⒓鐨�锛岄€氶亷璩�(zh矛)閲忕⒓锛屽彲浠ョ⒑瀹氳畝鍥炵殑鍊兼槸鍚﹀彲淇�銆佸彲鐢�銆傚湪閫氬父鐨勬噳(y墨ng)鐢ㄤ腑锛岄璀夎唱(zh矛)閲忕⒓鏄己鐪佺殑锛岀暥鍑虹従(xi脿n)閷璩�(zh矛)閲忕⒓鐨勬檪鍊�锛屼綅铏熻畝鍙栨柟娉曟渻鎷嬪嚭BadValueException鐣板父锛岄櫎浜嗚唱(zh矛)閲忕⒓璺熸暩(sh霉)鍊硷紝浣嶈櫉鍊奸倓鍖呮嫭浜嗛噰闆嗘暩(sh霉)鎿�(j霉)鍊肩殑鏅傞枔鎴�锛屽洜姝ゆ妸鏁�(sh霉)鍊�锛岃唱(zh矛)閲忕⒓锛屾檪闁撴埑灏佽閫蹭簡涓€鍊婽agValue,浣滅偤涓€鍊嬩綅铏熷€�銆備綅铏熺祫鍓囨槸浠ヤ竴绲勪綅铏熺偤鍠綅鐨凾agGroup瀵︿緥锛岃伅(li谩n)鍚堣畝鍙栧悇浣嶈櫉鐨勫鏅傚€兼垨姝峰彶鍊�锛屼互浜岀董琛ㄧ殑褰㈠紡杩斿洖锛屼互浣嶈櫉绲勪腑鍚勪綅铏熷悕鐐哄垪锛屾敮鎸佷互鍒楀悕鎴栬€呭垪绱㈠紩鐛插彇绲勫収(n猫i)鏌愪綅铏熺殑姣忚鏁�(sh霉)鎿�(j霉)銆傞€氶亷浣嶈櫉宸ュ粻鍗冲彲鐛插彇浣嶈櫉鑸囦綅铏熺祫灏嶈薄锛孖TagFactory鎻愪緵濡備笅宸ュ粻鏂规硶锛�
鍚嶇ū 鍔熻兘
getTag锛圫tring name锛� 鐛插彇浣嶈櫉瀵︿緥銆�
getTagGroup锛圫tring[] names锛� 鐛插彇浣嶈櫉绲勫渚�銆�
getTagGroup锛圫tring regex锛� 鐛插彇浣嶈櫉绲勫渚�銆�
锛堜竴锛� 璁€浣嶈櫉瀵︽檪鍊�
閫氶亷浣嶈櫉宸ュ粻ITagFactory鐨刧etTag锛坱agNameStr锛夋柟娉曚締鐛插緱瀵﹂殯鐨勪綅铏熷渚�銆傝┎鏂规硶灏囨牴鎿�(j霉)浣嶈櫉鐨勫叿楂斿爆鎬�锛岃繑鍥炶櫅浣嶈櫉鎴�?q奴)宓ㄦ兌鏌曡喍宥搘锛岃€孞Rtdbc浣跨敤鑰呭苟涓嶉渶瑕侀棞(gu膩n)绯诲叾绱扮瘈(ji茅)銆傚叿楂旂殑鏂规硶濡備笅锛�
ITag t = conn.getTagFactory锛堬級.getTag锛� tagName 锛� ;
閫氶亷ITag瀵︿緥锛屽彲浠ュ畬鎴愯畝鍙栧鏅傚€肩殑鎿嶄綔銆傞洊鐒舵瘡鍊嬩綅铏熷潎鏈夊叾鍘熺敓鐨勬暩(sh霉)鎿�(j霉)椤炲瀷锛屼絾ESP-iSYS鍦ㄨ畝鍙栨檪鍋氫簡瀹夊叏鐨勯鍨嬭綁(zhu菐n)鎻�锛屼篃灏辨槸瑾�锛屽皪浜庝竴鍊媔nt椤炲瀷鐨勪綅铏�锛屼粛鐒跺彲浠ラ噰鐢╮eadFloat鎴杛eadString鏂规硶锛屼締鐛插緱娴粸鍊兼垨瀛楃涓插€�銆侷Tag鎺ュ彛鎻愪緵浜嗛嚌灏嶄笉鍚屾暩(sh霉)鎿�(j霉)椤炲瀷鐨勬柟娉�锛屽涓嬶細
鏂规硶 鍔熻兘
readBoolean 璁€鍙朾oolean椤炲瀷鐨勫€�
readDouble 璁€鍙杁ouble椤炲瀷鐨勫€�
readFloat 璁€鍙杅loat椤炲瀷鐨勫€�
readInt 璁€鍙杋nt椤炲瀷鐨勫€�
readLong 璁€鍙杔ong椤炲瀷鐨勫€�
readShort 璁€鍙杝hort椤炲瀷鐨勫€�
readString 璁€鍙朣tring椤炲瀷鐨勫€�
閫欎簺鏂规硶鍧囨渻杩斿洖瀵︽檪鏁�(sh霉)鎿�(j霉)搴腑浣嶈櫉鐨勬渶鏂板€硷紝閫氶亷TagValue浣嶈櫉鍊煎皝瑁濋鐨刧etTimeStamp鏂规硶锛屽彲浠ョ嵅鍙栧埌瑭蹭綅铏熷€煎皪鎳�(y墨ng)鐨勬檪闁撴埑銆傚吀鍨嬬殑浣跨敤浠g⒓濡備笅锛�
ITag t = conn.getTagFactory锛堬級.getTag锛� tagName 锛� ;
TagValue v = t.readValue锛堬級 ;
Date timeStamp = v.getTimeStamp锛堬級 ;
SimpleDateFormat sft = new SimpleDateFormat锛� "yyyy/MM/dd HH:mm:ss " 锛�;
String timeString = sft.format锛� timeStamp锛�;
濡傛灉鍏╃ó鏁�(sh霉)鎿�(j霉)椤炲瀷闁撲笉鑳芥纰鸿綁(zhu菐n)鎻涙檪锛宺eadXXXX鏂规硶灏囨渻鎷嬪嚭TypeCastFailedException鐣板父銆�
锛堜簩锛� 瀵綅铏熷鏅傚€�
瀵鏅傚€肩殑鏂规硶鍜岃畝鍙栧鏅傚€兼槸灏嶆噳(y墨ng)鐨�锛屽浣嶈櫉鍚屾ǎ鍙互閲囩敤涓嶅悓鐨勯鍨嬪鍏ワ紝鍏跺垪琛ㄥ涓嬶細
鏂规硶 鍔熻兘
writeBoolean 瀵玝oolean椤炲瀷鐨勫€�
writeDouble 瀵玠ouble椤炲瀷鐨勫€�
writeFloat 瀵玣loat椤炲瀷鐨勫€�
writeInt 瀵玦nt椤炲瀷鐨勫€�
writeLong 瀵玪ong椤炲瀷鐨勫€�
writeShort 瀵玸hort椤炲瀷鐨勫€�
writeString 瀵玈tring椤炲瀷鐨勫€�
鑰孞Rtdbc鏈冭嚜鍕曠偤瑭插鎿嶄綔鍒嗛厤鏅傞枔鎴冲拰鎵撲笂姝g⒑鐨勮唱(zh矛)閲忕⒓銆�
锛堜笁锛� 璁€浣嶈櫉姝峰彶鏁�(sh霉)鎿�(j霉)
閫氶亷ITag瀵︿緥锛屽彲浠ュ畬鎴愯畝鍙栧鏅傛暩(sh霉)鎿�(j霉)搴収(n猫i)瀛樿垏纾佺洡姝峰彶鏁�(sh霉)鎿�(j霉) ITag鎺ュ彛鎻愪緵浜嗗涓嬫柟娉曪細
鏂规硶 鍔熻兘
readAllMemHisValue锛堬級 璁€鍙栧叏閮ㄥ収(n猫i)瀛樻鍙插€�
readMemHisPointValue锛圖ate p锛� 璁€鍙栨煇鏅傚埢纾佺洡姝峰彶鍊�
readMemHisValue锛圖ate b,Date e锛� 璁€鍙栨煇鍊嬫檪闁撴鐨勫収(n猫i)瀛樻鍙插€�
readMemHisValue锛圖ate b,Date e,long i锛� 閲囨ǎ璁€鍙栨煇鍊嬫檪闁撴鐨勫収(n猫i)瀛樻鍙插€�
readDiskHisPointValue锛圖ate p锛� 璁€鍙栨煇鏅傚埢纾佺洡姝峰彶鍊�
readDiskHisValue锛圖ate b,Date e锛� 璁€鍙栨煇鍊嬫檪闁撴鐨勭鐩ゆ鍙插€�
readDiskHisValue锛圖ate b,Date e,long i锛� 閲囨ǎ璁€鍙栨煇鍊嬫檪闁撴鐨勭鐩ゆ鍙插€�
readHisValue锛圖ate b,Date e,long i锛� 鑷嫊鍗€(q奴)鍒嗗収(n猫i)瀛樻垨纾佺洡姝峰彶
閲囨ǎ锛屽嵆鐐轰互涓€瀹氱殑鏅傞枔闁撻殧鍘昏畝浣嶈櫉鍊硷紝濡傛灉鏌愭檪鍒荤劇鍊煎瓨鍦�锛屼互NULL濉厖锛屽洜姝ら噰妯h畝姝峰彶鏁�(sh霉)鎿�(j霉)锛岃畝鍑轰締鐨勬槸涓€鍊嬩互鐩哥瓑鏅傞枔闁撻殧鐨勫€煎簭鍒�銆備笉閲囨ǎ绱旂补璁€鍑烘檪闁撴浠惰寖鍦嶅収(n猫i)鐨勬墍鏈変綅铏熷€硷紝鍏稿瀷鐨勮畝浣嶈櫉姝峰彶鍊肩殑浠g⒓濡備笅锛�
ITag t = tf.getTag锛堚€淭T3502鈥濓級 ;
//璁€鍙栧叏閮ㄥ収(n猫i)瀛樻鍙�
ArrayList
vs = t.readAllMemHisValue锛堬級 ;
//璁€鍙栨檪闁撴鐨勭鐩ゆ鍙�,begin,end 璧峰鑸囩祼(ji茅)鏉熸檪闁�锛宨nter閲囨ǎ闁撻殧锛岀劇鍊兼檪浠ULL濉厖閫插鍣�銆�
ArrayList vs = t.readDiskHisValue锛� begin,end,inter锛�
锛堝洓锛� 璁€鍙栦綅铏熺祫鍊�
璁€ 浣嶈櫉绲勭殑鎺ュ彛鏂规硶鑸囧柈鍊嬩綅铏熸槸涓€妯g殑锛岀当(t菕ng)涓€鎺ュ彛锛屾槗浜庝娇鐢紝棣栧厛浠ヤ竴绲勪綅铏熷悕鐐哄弮鏁�(sh霉)锛岄€氶亷浣嶈櫉宸ュ粻寰楀埌浣嶈櫉绲勫皪璞★紝瑾�(di脿o)鐢ㄨ畝鍙栨柟娉�锛岃垏鍠€嬩綅铏熶笉鍚岀殑鍙槸浣嶈櫉绲勮繑鍥炵殑鏄互浣嶈櫉鍚嶇偤鍒楃殑浜岀董琛═agDataTable褰㈠紡鐨勭祼(ji茅)妲�(g貌u)锛岃垏Jdbc鐨凴ecord椤炰技锛屽彲浠ラ亶姝疯〃涓殑鎵€鏈夎锛岄€氶亷浣嶈櫉鍚嶆垨鑰呭垪绱㈠紩鐛插緱绲勫収(n猫i)鏌愬€嬩綅铏熺殑鍊�锛屽洜姝ava闁嬬櫦(f膩)浜哄摗鍙互鍍忚檿鐞咼dbc鐨凴ecord涓€妯h檿鐞嗕綅铏熺祫杩斿洖鐨勬暩(sh霉)鎿�(j霉)锛屽吀鍨嬬殑浣跨敤浠g⒓濡備笅锛�
String[] names = 锝涒€淭T3501鈥�,鈥漈T3502鈥�,鈥漈T3503鈥濓綕
ITagFactory tf = conn.getTagFactory锛堬級 ;
ITagGroup tgrp = tf.getTagGroup锛坣ames锛� ;
//璁€瀵︽檪鍊�
TagDataRow r = tgrp.readValue锛堬級 ;
TagValue v = r.getValue锛堚€淭T3501鈥濓級 ;
//璁€姝峰彶鍊�
TagDataTable t = tgrp.readDiskHisValue锛坆egin,end,interval锛�;
For锛圱agDataRow row : t.getRows锛堬級锛夛經
TagValue v = row.getValue锛�0锛�;//浠ョ储寮曠嵅寰�
System.out.println锛� v.getTimeStamp锛堬級 锛� ;//鎵撳嵃鐛插彇鏅傞枔銆�
锝�
閫氶亷JRtdbc鎿嶄綔瀵︽檪鏁�(sh霉)鎿�(j霉)搴綅铏熻垏浣嶈櫉绲勬槸濡傛鐨勬柟渚胯垏鐩磋锛岀敤鎴跺畬鍏ㄦ劅瑕轰笉鍒版鍦ㄦ搷浣滅殑鏄繁濂х殑瀵︽檪鏁�(sh霉)鎿�(j霉)搴�銆�
鐢ㄦ埗鑸囩敤鎴剁祫
鐧婚寗瀵︽檪鏁�(sh霉)鎿�(j霉)搴殑鐢ㄦ埗锛屼互涓€鍊嬬敤鎴跺皪璞User瀛樺劜鍦ㄥ鏅傛暩(sh霉)鎿�(j霉)鍏�(n猫i)閮�锛岀暥鐒堕倓鏈夊叾闅稿爆鐨勭敤鎴剁祫IUserGroup锛岀敤鎴朵篃鍙互鍦ㄦ瑠(qu谩n)闄愯寖鍦嶅収(n猫i)澧炲姞鍒櫎鐢ㄦ埗锛岀偤鐢ㄦ埗鍒嗛厤娆�(qu谩n)闄愶紝鍒嗛厤鐢ㄦ埗绲�锛屾墍鏈夋搷浣滈浼间簬骞冲父鎿嶄綔绯荤当(t菕ng)鐨勭敤鎴剁敤鎴剁祫绲�(ji茅)妲�(g貌u)锛屽緸绯荤当(t菕ng)UML鍦栧彲浠ョ湅鍑�锛孖User鑸嘔UserGroup娲剧敓浜嶪UserBase,IUserBase鎶藉彇鍑轰簡鍏叡鐨勫皪娆�(qu谩n)闄愯í鍟忓垪琛ㄦ搷浣滅殑鏂规硶銆傞€氶亷IConnection鐛插緱IUserFacotry鐢ㄦ埗宸ュ粻锛岃┎宸ュ粻鎻愪緵浜嗗涓嬪伐寤犳柟娉曪細
鏂规硶 鍔熻兘
addUser锛圲serAttribute attr锛� 娣诲姞鐢ㄦ埗
addUserGroup锛圲serGroupAttribute attr锛� 娣诲姞鐢ㄦ埗绲�
delUser锛� String name 锛� 鍒櫎鐢ㄦ埗
delUserGroup锛圫tring name锛� 鍒櫎鐢ㄦ埗绲�
getUsers锛堬級 鏋氳垑鐢ㄦ埗
getUserGroups锛堬級 鏋氳垑鐢ㄦ埗绲�
锛堜竴锛� 娣诲姞鍒櫎鏋氳垑鐢ㄦ埗/鐢ㄦ埗绲�
娣诲姞鐢ㄦ埗/鐢ㄦ埗绲勪竴鑸搷浣滅浉鐣剁啊鍠紝鍙栧緱閫f帴鍚�锛屽緱鍒扮敤鎴跺伐寤�锛屽缓绔嬬敤鎴舵垨鐢ㄦ埗绲勫爆鎬у皪璞�锛岃(di脿o)鐢ㄥ伐寤犳柟娉昦ddUser鑸嘺ddUserGroup鍗冲彲,鍒櫎鐢ㄦ埗/鐢ㄦ埗绲勫彧闋堜互鍚嶇ū鐐哄弮鏁�(sh霉)瑾�(di脿o)鐢╠elUser/delUserGroup鏂规硶锛屽吀鍨嬩唬纰煎涓嬶細
IUserFacotry uf = conn.getUserFacotry锛堬級 ;
//娣诲姞鐢ㄦ埗
IUser u = uf.addUser锛� new UserAttribute锛堚€淭ESTUSER鈥濓級锛� ;
Boolean b = uf.delUser锛堚€淭ESTUSER鈥濓級 ; //鍒櫎鐢ㄦ埗
//娣诲姞鐢ㄦ埗绲�
IUserGroup grp = uf.addUserGroup锛� new UserGroup锛堚€渁dmin鈥濓級锛� ;
Boolean b = uf.delUserGroup锛堚€渁dmin鈥濓級;//鍒櫎鐢ㄦ埗绲�
//鏋氳垑鐢ㄦ埗鐢ㄦ埗绲�
ArrayList users = uf.getUsers锛堬級 ;
ArrayList grps = uf.getGroups锛堬級 ;
锛堜簩锛� 椹楄瓑鐢ㄦ埗娆�(qu谩n)闄�
瀵︽檪鏁�(sh霉)鎿�(j霉)搴湁瀹屾暣鐨勫畨鍏ㄦ鍒讹紝姣忓€嬪皪璞¢鍨嬮兘鏈変竴绯诲垪鐨勬瑠(qu谩n)闄愰爡瀛樺湪锛屽彧鏈夊湪娆�(qu谩n)闄愬厑瑷辩殑鎯呮硜涓�锛岀敤鎴舵墠鑳藉皪瀵︽檪鏁�(sh霉)鎿�(j霉)搴腑鐨勫皪璞¢€茶鎿嶄綔锛孖User鎺ュ彛鎻愪緵浜嗙啊鍠殑鎺ュ彛渚嗛璀夌敤鎴舵槸鍚﹀叿鏈夋搷浣滃鏅傛暩(sh霉)鎿�(j霉)搴皪璞$殑娆�(qu谩n)闄�,姣斿鐢ㄦ埗鏄惁鏈夋瑠(qu谩n)鍒櫎涓€鍊嬩綅铏�锛屽埅闄や綅铏熼€欏€嬫瑠(qu谩n)闄愰爡琚畾缇╁湪浣嶈櫉灏嶈薄椤炲瀷鍏�(n猫i)锛屽吀鍨嬩唬纰煎涓嬶細
IUser u = new User锛坈onn,鈥漚dmin鈥濓級 ;
String path = 鈥�.\姘村寲杌婇枔\TT3502鈥�;//鏌愯粖闁撲笅鐨勪竴鍊嬩綅铏�
String right = 鈥滃埅闄や綅铏熲€� 锛�
Boolean b = u. authenticate锛坧ath,right锛� ;
If锛� b 锛� 锝� 鈥︹€︼綕 else 锝� System.out.println锛堚€滅敤鎴剁劇娆�(qu谩n)闄愬埅闄よ┎浣嶈櫉鈥濓級;锝�
锛堜笁锛� 鐢ㄦ埗/鐢ㄦ埗绲勬瑠(qu谩n)闄愯í鍟忓垪琛�
鐢ㄦ埗/鐢ㄦ埗绲勬搧鏈変竴鍊嬪厑瑷辫í鍟忓垪琛ㄥ拰涓€鍊嬫嫆绲曡í鍟忓垪琛�锛岄€欎簩鍊嬪垪琛ㄦ弿杩扮殑鏄湪灏嶈薄椤炲瀷鐣朵腑瀹氱京鐨勬瑠(qu谩n)闄愰爡鏄惁鍏锋湁锛孞Rtdbc浣跨敤鑰呭彲浠ラ€氶亷IUser鑸嘔UserGroup鎻愪緵鐨勬帴鍙g嵅寰楄í鍟忓垪琛ˋrrayList锛孉CEHeader椤炲皝瑁濅簡灏嶈薄璺緫鑸囦箣灏嶆噳(y墨ng)鐨勬瑠(qu谩n)闄愬悕绋�锛屽苟鏀寔澧炲姞鎴栧埅闄ゅ垪琛ㄩ爡锛屼笅闈互IUser鐐轰緥锛岀郸鍑哄吀鍨嬩唬纰硷細
IUser u = new User锛坈onn,鈥漚dmin鈥濓級 ;
String path = 鈥�.\姘村寲杌婇枔\TT3502鈥�;//鏌愯粖闁撲笅鐨勪竴鍊嬩綅铏�
String right = 鈥滃埅闄や綅铏熲€� 锛�
Boolean b = u. removeACE锛坧ath,right锛� ;//鍒櫎浜嗙敤鎴跺皪浣嶈櫉鐨勫埅闄ゆ瑠(qu谩n)闄�
IUser u2 = new User锛坈onn,鈥漷est鈥濓級 ;
Boolean b = u2.addACE锛坧ath,right锛� ;//鐢ㄦ埗鍏锋湁浜嗗埅闄ゆ瑠(qu谩n)闄�
//鏋氳垑
ArrayList aces = u.getACList锛堬級 ;
ArrayList dcls = u.getDCList锛堬級 ;
灏嶈薄椤炲瀷鑸囨瑠(qu谩n)闄愰珨绯�
瀵︽檪鏁�(sh霉)鎿�(j霉)鎿�(j霉)搴暥涓殑灏嶈薄閮芥湁鍏跺皪鎳�(y墨ng)鐨勫皪璞¢鍨�锛屼緥濡傦紝浣嶈櫉灏辨槸涓€鍊嬪皪璞℃ü涓婄殑鐗规畩椤炲瀷銆傚皪璞¢鍨嬮兘娲剧敓浜嶪ElementType锛岃┎鎺ュ彛鎻愪緵浜嗗娣诲姞鑷畾缇╁爆鎬ф弿杩�銆佹坊鍔犳瑠(qu谩n)闄愰爡绛夊姛鑳�銆傞鍨嬪伐寤營TypeFactory鎻愪緵浜嗕笅鍒楀伐寤犳柟娉曪細
鍚嶇ū鍔熻兘
addType锛圗lementTypeAttribute attr锛� 娣诲姞灏嶈薄椤炲瀷
delType锛圫tring typename锛� 鍒櫎灏嶈薄椤炲瀷
getTypes锛堬級 鏋氳垑灏嶈薄椤炲瀷
鐛插彇閫f帴锛屽緱鍒伴鍨嬪伐寤犲悗锛屽嵆鍙坊鍔犲埅闄ゅ皪璞¢鍨�锛�
锛堜竴锛� 娣诲姞鍒櫎灏嶈薄椤炲瀷
鍦ㄥ鏅傛暩(sh霉)鎿�(j霉)涓坊鍔犲皪璞¢鍨嬮潪甯哥殑绨″柈锛屾瘮濡傚湪瀵︽檪鏁�(sh霉)鎿�(j霉)搴暥涓坊鍔犱竴绋牨琛ㄩ€欐ǎ鐨勪竴绋鍨�锛屽彲鍏堢嵅寰楅鍨嬪伐寤狅紝鐒跺悗寤虹珛鏂伴鍨嬬殑灞€у皪璞ypeAttribute鍏朵腑鍙湁椤炲瀷鍚嶅繀闋堟寚瀹�锛岃(di脿o)鐢╝ddType娣诲姞锛屽埅闄ら鍨嬪彧闋堣(di脿o)鐢╠elType锛屽苟浠ュ皪璞¢鍨嬪悕绋辩偤鍙冩暩(sh霉)锛屽吀鍨嬩唬纰煎涓嬶細
ITypeFactory typef = conn.getTypeFacotry锛堬級 ;
TypeAttribute attr = new TypeAttribute锛堚€滃牨琛ㄢ€濓級 ;
IElementType type = Typef.addType锛� attr 锛� ;//娣诲姞灏嶈薄椤炲瀷銆�
Boolean b = typef.delType锛堚€滃牨琛ㄢ€濓級 ;//鍒櫎灏嶈薄椤炲瀷
ArrayList types = typef.getTypes锛堬級 ;//鏋氳垑
锛堜簩锛� 娣诲姞鑷畾缇╁爆鎬ф弿杩�
鍦ㄥ鏅傛暩(sh霉)鎿�(j霉)搴暥涓�锛屽彲浠ョ偤瀵︽檪鏁�(sh霉)鎿�(j霉)搴皪璞℃坊鍔犺嚜瀹氱京灞€�锛屽瓨鍎插湪灏嶈薄灞€lementAttribute鐨凥ashtable涓�锛屽鏅傛暩(sh霉)鎿�(j霉)搴偤椹楄瓑鑷畾缇╂坊鍔犵殑灞€ф纰烘€э紝鐢ㄦ埗蹇呴爤鎻愪緵鑷畾缇╁爆鎬х殑鎻忚堪淇℃伅锛岀偤绨″寲鎿嶄綔锛孞Rtdbc鎶婃弿杩颁俊鎭娊璞℃垚TypeBase锛屽叿楂旀弿杩伴娲剧敓浜庢鍩洪锛屾彁渚涗簡鑷畾缇╁爆鎬х殑鐩搁棞(gu膩n)绱勬潫姊濓紝濡傛渶澶у€�锛屾渶灏忓€�锛屽€奸鍨嬬瓑锛岀洰鍓嶆敮鎸佷笁绋嚜瀹氱京椤炲瀷鐨勬坊鍔�锛孖nt32Type鏁村瀷锛孌oubleType娴粸鍨嬪拰StringType瀛楃涓插瀷銆傛瘮濡傜従(xi脿n)鏈塺eport1閫欎箞涓€鍊嬪牨琛ㄥ皪璞�锛岀敤鎴惰鐐哄叾娣诲姞涓€鍊嬪悕鐐簆ath鐨勮矾寰戝爆鎬�锛屽€肩偤C:\report,鍓囬鍏堟噳(y墨ng)瑭茬嵅鍙栧牨琛ㄥ皪璞¢鍨嬪皪璞�锛屽湪椤炲瀷灏嶈薄鐣朵腑娣诲姞閫欏€嬭嚜瀹氱京灞€х殑鎻忚堪淇℃伅锛屽鑷畾缇╁爆鎬у悕鎳�(y墨ng)瑭茬偤path,椤炲瀷鐐篠tring锛屾渶澶ч暦搴︾偤100绛変俊鎭�锛岄€欐ǎ鎵嶈兘姝g⒑鐨勭偤鍏烽珨鍫辫〃灏嶈薄娣诲姞閫查€欏€嬭嚜瀹氱京灞€э紝鍏稿瀷浠g⒓濡備笅锛�
StringType t = new StringType锛� path,true,鈥漜:\report鈥濓級 ;
t.setMaxLength锛�100锛�;
Boolean b = type.addAttribute锛� t 锛� ;
锛堜笁锛� 娣诲姞娆�(qu谩n)闄愰爡
瀵︽檪鏁�(sh霉)鎿�(j霉)搴腑姣忕ó灏嶈薄椤炲瀷閮芥湁鍏舵瑠(qu谩n)闄愰爡鍒楄〃锛屾瘮濡傚牨琛ㄩ€欏€嬪皪璞¢鍨�锛屽畠鏈夊畬鍏ㄦ帶鍒�銆佽畝鍫辫〃锛屽鍫辫〃銆佹坊鍔犲牨琛ㄣ€佸埅闄ゅ牨琛ㄧ瓑娆�(qu谩n)闄愰爡锛岀敤鎴跺彲浠ラ€氶亷鎺ュ彛灏嶆瑠(qu谩n)闄愰爡閫茶娣诲姞鎴栧埅闄わ紝棣栧厛鏂板缓涓€鍊嬫瑠(qu谩n)闄愬爆鎬у皪璞�锛岃ō(sh猫)缃瑠(qu谩n)闄愰爡鍚嶇ū绛変俊鎭�锛岀嵅寰楀皪璞¢鍨嬪皪璞�锛岃(di脿o)鐢╝ddRight娣诲姞鍗冲彲锛屽埅闄ゆ搷浣滅洿鎺ヤ互娆�(qu谩n)闄愬悕鐐哄弮鏁�(sh霉)锛岃(di脿o)鐢╠elRight鍗冲彲锛屽吀鍨嬩唬纰煎涓嬶細
RightAttribute attr = new RightAttribute锛堚€滃牨琛ㄥ畬鍏ㄦ帶鍒垛€濓級 ;
Boolean b = type.addRight锛� attr 锛� ;//娣诲姞娆�(qu谩n)闄愰爡
Boolean b = type.delRight锛� rightName 锛� ;//鍒櫎娆�(qu谩n)闄愰爡
灏嶈薄妯圭殑瑷晱鑸囨搷浣�
鐐虹啊鍖栧湪ESP-iSYS涓婇€茶Java闁嬬櫦(f膩)锛孍SP-iSYS鍏�(n猫i)閮ㄤ互浼佹キ(y猫)璩囨簮妯圭殑褰㈠紡渚嗙祫绻斿皪璞�锛屼綅铏�銆佸牨琛ㄣ€佸崁(q奴)鍩�銆佹祦绋嬪湒绛夐兘鏄ü涓婄殑灏嶈薄锛屽叾涓崁(q奴)鍩熼噷闈㈠彲浠ユ湁灏嶈薄涔熷彲浠ュ寘鍚瓙鍗€(q奴)鍩�锛屽氨鍍忎紒妤�(y猫)閲岄潰鐨勭祫绻旂祼(ji茅)妲�(g貌u)锛屾瘮濡備竴鍊嬮儴闁€閲屾湁瑷卞灏嶈薄锛屼篃鏈夎ū澶氳粖闁�锛岃粖闁撻噷鍙堟湁浣嶈櫉涔嬮鐨勫皪璞″彲鑳介倓鏈変簩绱氳粖闁擄紝閫欓噷閮ㄩ杸鍜岃粖闁撴垨浜岀礆杌婇枔鍦ㄥ鏅傛暩(sh霉)鎿�(j霉)搴噷灏辫〃绀虹偤鍗€(q奴)鍩�?q奴)慰?銆傚皪璞℃ü涓婄殑鎵€鏈夊皪璞¢兘娲剧敓浜嶪Element锛屼娇寰楅枊鐧�(f膩)浜哄摗鍙互绲�(t菕ng)涓€灏嶅緟鎵€鏈夊皪璞�锛屽皪璞″爆鎬ф湁闋�(y霉)瀹氱京灞€у拰鑷畾缇╁爆鎬э紝闋�(y霉)瀹氱京灞€т互鎴愬摗璁婇噺鐨勫舰寮忓瓨浜庡皪璞″渚嬩腑锛岃嚜瀹氱京灞€у瓨鏀句簬Hashtable涓紝闋堝厛浠ypeBase鍦ㄥ皪璞¢鍨嬩腑娣诲姞鑷畾缇╁爆鎬ф弿杩板悗锛屾墠鑳界偤灏嶈薄姝g⒑娣诲姞鑷畾缇╁爆鎬�锛岀洰鍓嶆敮鎸佹诞榛炲瀷銆佹暣鍨�銆佸瓧绗︿覆鍨嬩笁绋鍨�锛屽鍦栵細
鍙互閫氶亷IConnection鏂规硶getRegionRoot锛堬級鐛插彇灏嶈薄妯圭殑鏍瑰崁(q奴)鍩熺瘈(ji茅)榛濱Region锛屽緸鑰屽畬鍏ㄩ亶姝疯垏瑷晱鍚勯灏嶈薄銆�
锛堜竴锛� 娣诲姞灏嶈薄
閫f帴寤虹珛鍚�锛屽彲閫氶亷IConnection鐨刧etRegionRoot鏂规硶鐛插緱灏嶈薄妯规牴绲�(ji茅)榛�锛岄亶姝峰埌娆叉坊鍔犲皪璞$殑鍗€(q奴)鍩熺瘈(ji茅)榛烇紝鐒跺悗浠ュ皪璞″爆鎬lementAttribute鐐哄弮鏁�(sh霉)锛屽皪璞″爆鎬у皝瑁濋宸叉彁渚涗簡澶ч儴浠介粯瑾嶅€�锛岀敤鎴跺彲鍙皪蹇呰瀛楁閫茶璩﹀€煎嵆鍙(g貌u)寤哄爆鎬у皪璞�锛岄伩鍏嶄簡灏嶅ぇ涓插爆鎬т竴涓€璩﹀€肩殑鐓╃懀锛岀啊鍖栭枊鐧�(f膩)锛屽啀瑾�(di脿o)鐢╝ddElement锛圗lementAttribute attr锛夋柟娉曟坊鍔犲皪璞�,鐩稿悓鏂规硶娣诲姞浣嶈櫉鎴栧叾瀹冨皪璞★紝鍏稿瀷浠g⒓濡備笅锛�
IRegion root = conn.getRegionRoot锛堬級 ;
RealTagAttribute realTagAttr = new RealTagAttribute锛堚€淭T鈥濓級;
ITag t = root.addTag锛� realTagAttr 锛� ;娣诲姞浣嶈櫉
//IElement e = root.addElement锛圗lementAttribute attr锛� ;
锛堜簩锛� 娣诲姞鑷畾缇╁爆鎬�
閬嶆灏嶈薄妯圭嵅鍙栧皪璞″渚�锛岃(di脿o)鐢╣etElementAttribute鏂规硶鐛插彇灏嶈薄灞€�锛岃(di脿o)鐢╝ddCustAttrbute锛坣ame,value锛夋坊鍔犺嚜瀹氱京灞€�,濡傚湪灏嶈薄椤炲瀷灞€у収(n猫i)鏈坊鍔犺嚜瀹氱京灞€ф弿杩�锛屾垨鑰呰垏鎻忚堪淇℃伅涓嶇锛屽墖鎷嬪嚭InValidAtrributeException,鍏稿瀷浠g⒓濡備笅锛�
ITagFactory tf = conn.getTagFactory锛堬級 ;
ITag t = tf.getTag锛� 鈥淭T3502鈥� 锛� ;
ElementAttribute ta = t.getElementAttribute锛堬級 ;
Ta.addCustAttr锛堚€淐ustAttr鈥�,鈥滳ustAttrValue鈥濓級 ;
鐣板父铏曠悊妯″
JRtdbc鏈変竴濂楀畬鏁寸殑鐣板父楂旂郴锛屾墍鏈塉Rtdbc鑷湁鐨勭暟甯稿叏閮ㄦ淳鐢熶簬RtdbcException锛屽惈缇╂槑纰�锛屽皪鎷嬪嚭鍘熷洜涓€鐩簡鐒�锛屽苟涓斿ぇ閮ㄤ唤瀹氱京鐐烘湭妾㈢暟甯�锛屽洜鐐洪€欎簺鐣板父鎷嬪嚭鍚庯紝鐢ㄦ埗鐒″姏鎭㈠京(f霉)锛屾湭妾㈢暟甯镐笉鐢ㄨ畵鐢ㄦ埗蹇呴爤Try,Catch锛岄€欐ǎ娓涘皯浠g⒓閲�锛岄檷浣庨枊鐧�(f膩)寰�(f霉)闆滃害銆傚叿楂斿涓嬶細
鍚嶇ū 鍚京
RtdbException 瀵︽檪鏁�(sh霉)鎿�(j霉)搴暟?锛涱嫙?
BadValueException 浣嶈櫉鍊艰唱(zh矛)閲忕⒓鐣板父锛岃畝鍒板鍊兼檪鎷嬪嚭
InValidPackageException 鍖呰В鏋愰尟瑾ゆ檪鎷嬪嚭
InValidAttributeException 娣诲姞鑷畾缇╁爆鎬ф檪锛屽爆鎬х劇鏁堟檪鎷嬪嚭
涓� 瀵︿緥灞曠ず
涓嬮潰鏄竴鍊嬩娇鐢↗Rtdbc闁嬬櫦(f膩)鐨勪竴鍊嬭畝鍙栦綅铏熷鏅傚€艰垏姝峰彶鍊肩殑瀹屾暣绀轰緥锛岀穵婀婄啊鐭殑骞惧彞Java浠g⒓鍗冲彲璁€鍙栧埌宸ユキ(y猫)鑷嫊鍖栭牁(l菒ng)鍩熺暥涓殑瀵︽檪淇℃伅銆�
鍥� 绺界祼(ji茅)
浠ヤ笂瑭崇窗浠嬬垂浜咵SP-iSYS骞宠嚭Java鎺ュ彛鐨勬灦妲�(g貌u)鑸囦娇鐢ㄦ椹�锛屸€滀竴鍊嬮€f帴锛屽洓鍊嬪伐寤犫€濋€氶亷鐭煭鐨勬暩(sh霉)琛孞ava浠g⒓鍗宠兘鎻枊瀵︽檪鏁�(sh霉)鎿�(j霉)搴殑绁炵闈㈢礂锛岃畵闁嬬櫦(f膩)浜哄摗鏆㈡父鏁村€嬪鏅傛暩(sh霉)鎿�(j霉)搴紝Java鎰涘ソ鑰呭€戝彲浠ョ洝鎯呬韩鍙楃敤Java蹇€熼枊鐧�(f膩)瀵︽檪鎳�(y墨ng)鐢ㄦ墍甯朵締鐨勬▊瓒�銆傛禉姹熶腑鎺ц粺浠舵妧琛�(sh霉)鏈夐檺鍏徃鍦ㄤ粖鍚庢渻涓嶆柗鐨勫皪鍏堕€茶缍鍜屽崌绱�锛屽苟灏嶉枊鐧�(f膩)鑰呮彁渚涜壇濂界殑鎶€琛�(sh霉)鏀寔锛屽叡鍚屽姫鍔涘湪J2EE骞宠嚭涓婇枊鐧�(f膩)鍑烘洿澶氭洿鍎�(y艒u)绉€鐨勫鏅傛噳(y墨ng)鐢�銆�