´«ÖDz¥¿Íjavaѧϰ jbpm½ø½×
ÎÒ½ñÌìѧϰÁËjbpmµÄ֪ʶ£ºÎÒ×öÁ˼òµ¥µÄÕªÒª£º
Á÷³ÌͼÖеĸ÷ÖÖ½ÚµãµÄ×÷Óü°Ó÷¨£º
ÐèÒªÓв»Í¬ÀàÐÍ£¨×÷Ó㩵Ľڵ㣬²ÅÄÜÉè¼Æ³ö¸´ÔÓµÄÁ÷³Ìͼ¡£JbpmÓÐÒ»Ì×Ô¤Ïȶ¨ÒåºÃµÄ½ÚµãÀàÐÍ¡£Èç¹û²»¹»Óã¬Ò²¿ÉÒÔʹÓÃ×Ô¶¨Òå½Úµã½øÐÐÀ©Õ¹£¬ÒÔÍê³É²»Í¬µÄÁ÷³ÌµÄÐèÒª¡£²»Í¬µÄ½ÚµãÀàÐÍ´ú±í²»Í¬µÄÐÐΪ¡£
ÿ¸öÁ÷³Ì¶¼±ØÐëÒªÓпªÊ¼½ÚµãºÍ½áÊø½Úµã¡£
Ô¤¶¨Òå½Úµã£º
start-state£¬¿ªÊ¼½Úµã£º±êʶÁ÷³Ì¿ªÊ¼¡¢
end-state£¬½áÊø½Úµã£º±êʶÁ÷³Ì½áÊø¡¢
task-node£¬ÈÎÎñ½Úµã£º¿ÉÒÔ·Å0¸ö»ò¶à¸öÈÎÎñ¡¢
decision£¬¾ö²ß½Úµã £ºÂ·¾¶Ñ¡Ôñ£¬Ö»Ê¹ÓÃÒ»¸öÁ÷ת£¨²æÂ·¿Ú£©¡¢
fork/join£¬·ÖÖ§½Úµã/ºÏ²¢½Úµã£º¿ÉÒÔ·ÖΪ¶à¸ö²¢ÐÐÖ´ÐеķÖÖ§¡¢
state£¬×´Ì¬½Úµã£ºµÈ´ý¡£
»¹ÓÐmail-node¡¢process-state¡¢super-stateµÈ
ÿ¸ö½Úµã¶¼¶ÔÓ¦Ò»¸öÀࣨJbpmµÄ³Ö¾Ã»¯Àࣩ£¬¶¼ÊÇorg.jbpm.graph.def.NodeµÄ×ÓÀà¡£½Úµã¶¼ÓÐÃû×Ö¡¢Á÷ת£¨end-state³ýÍ⣩¡£
start-state ½Úµã£º
¿ªÊ¼½Úµã£º±êʶÁ÷³Ì¿ªÊ¼±ß½ç¡£¿ªÊ¼×´Ì¬ÓÐÇÒÖ»ÓÐÒ»¸ö£¬¾ÍÊÇ˵Á÷³ÌÖв»ÄÜÓÐÈκÎtransitionÖ¸Ïò¿ªÊ¼½Úµã¡£
´´½¨ÐµÄÁ÷³ÌʵÀýºó£¬¾ÍÓÐÒ»¸ö¶ÔÓ¦µÄToken£¨RootToken£¬¸ùÁîÅÆ£©Ö¸Ïòstart-state¡£²¢ÇÒ´¦Óڵȴý״̬£¬ÐèÒª¸øToken·¢Ðźţ¨signal£©²ÅÄÜʹÁ÷³Ì¼ÌÐøÖ´ÐС£
signalÊôÐÔ£º
task-nodeµÄsignalÊôÐÔ£ºÖ¸¶¨Íê³ÉÈÎÎñʵÀý¶ÔÖ´ÐÐÁ÷³ÌµÄÓ°Ï죨·¢Ðźţ©¡£
£¨Ö¸¶¨ÄĸöÈÎÎñʵÀýÍê³Éºó»á·¢ÐźÅÀ뿪½Úµã
ÊôÐÔ¿ÉÈ¡µÄÖµ:
last£ºÄ¬ÈÏÖµ£¬µ±×îºóÒ»¸öʵÀý±»Íê³Éʱºò·¢Ðźš£µ±ÔÚÕâ¸öÈë¿ÚûÓÐÈÎÎñ±»Éú³Éʱºò£¬Á÷³Ì¼ÌÐøÖ´ÐУ¨·¢Ðźţ©
first£ºµ±µÚÒ»¸öʵÀý±»Íê³Éʱºò·¢Ðźš£µ±ÔÚÕâ¸öÈë¿ÚûÓÐÈÎÎñ±»Éú³Éʱºò,Ö´ÐмÌÐø.
never£º²»¹ÜÈÎÎñʵÀýÊÇ·ñÍê³É£¬¶¼²»·¢Ðźš£
nsynchronized£º½øÈë½Úµãºó¾Í·¢Ðźţ¬²»¹ÜÈÎÎñÊÇ·ñû½¨Á¢»òÓÐûÓÐÍê³É¡£¾ÍÊÇ˵ÈÎÎñµÄÖ´ÐкÍÁ÷³ÌÖ´Ðл¥²»Ó°Ïì¡£
last-wait£ºµ±½øÈë½ÚµãʱûÓÐÈÎÎñʵÀý±»´´½¨Ê±£¬¾Í»áÒ»Ö±´¦Óڵȴý״̬£¬Ö±µ½ÈÎÎñʵÀý±»´´½¨£»´´½¨ÈÎÎñʵÀýºó£¬¾ÍÊǵ±ËùÓеÄʵÀý¶¼Ö´ÐÐÍê³Éºó·¢Ðźţ¨ºÍlastÒ»ÑùÁË£©¡£
½øºó½Úµãºó
If( taskInstanceµÄÊýÁ¿ = 0 ){
Wait£¬Ö±µ½´´½¨ÈÎÎñʵÀý
}
Signal = “last” first-wait: ºÍlast-waitÒ»ÑùÀí½â¡£
decision ½Úµã£º
¾ö²ß½Úµã£ºÓÃÓÚ¼ÆËãÁ÷Ïò¡£ÔÚdecisionÖÐʹÓÃDecisionHandler¡£»òʹÓÃÒ»¸ö±í´ïʽ£¬Ò²ÊÇ·µ»ØÒªÊ¹ÓõÄtransitionµÄn
Ïà¹ØÎĵµ£º
°ücommons-net-1.4.1.zip
import org.apache.commons.io.IOUtils;
import org.apache.commons.net.ftp.FTPClient;
import com.eduvideotv.util.Global;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.FileOutputStream;
/**
* Apache commons-net ÊÔÓ ......
×÷ΪJava³ÌÐòÔ±À´Ëµ£¬×îÍ´¿àµÄÊÂÇéιýÓÚ¿ÉÒÔÑ¡ÔñµÄ·¶Î§Ì«¹ã£¬¿ÉÒÔ¶ÁµÄÊéÌ«¶à£¬ÍùÍùÈÝÒ×ÎÞËùÊÊ´Ó¡£ÎÒÏë¾ÍÎÒ×Ô¼º¶Á¹ýµÄ¼¼ÊõÊé¼®ÖÐÌôÑ¡³öÀ´Ò»Ð©£¬
°´ÕÕѧϰµÄÏȺó˳Ðò£¬ÍƼö¸ø´ó¼Ò£¬ÌرðÊÇÄÇЩÏë²»¶ÏÌá¸ß×Ô¼º¼¼ÊõˮƽµÄJava³ÌÐòÔ±ÃÇ¡£
Ò»¡¢Java±à³ÌÈëÃÅÀà
¶ÔÓÚûÓÐJava±à³Ì¾ÑéµÄJava³ÌÐòÔ±ÒªÈëÃÅ£¬Ëæ±ã¶ÁʲôÈëÃÅÊé¼®¶¼Ò» ......
ÔÚͨ¶ÁjdkÔ´´úÂëµÄʱºò·¢ÏÖÐí¶àjava·½·¨Ç°¶¼ÓÐnative¹Ø¼ü×ÖÐÞÊΣ¬×îºóµÃÖªnativeÊÇÓëC++ÁªºÏ¿ª·¢µÄʱºòÓõģ¬java×Ô¼º¿ª·¢²»Óá£
ʹÓÃnative¹Ø¼ü×Ö˵Ã÷Õâ¸ö·½·¨ÊÇÔÉúº¯Êý£¬Ò²¾ÍÊÇÕâ¸ö·½·¨ÊÇÓÃC/C++ÓïÑÔʵÏֵ쬲¢ÇÒ±»±àÒë³ÉÁËDLL£¬ÓÉjavaÈ¥µ÷Óá£ÕâЩº¯Êý ......
ÎÒ½ñÌìѧϰÁËÐìÀÏʦ½²µÄhibernate֪ʶ£¬ÎÒ×öÁ˼òµ¥µÄ±Ê¼Ç£º
Ò»¡¢Hibernate
a) Á¬½ÓjavaÓ¦ÓóÌÐòºÍ¹ØÏµÐÍÊý¾Ý¿âµÄÖмä¼þ£¬¶ÔJDBC API·â×°£¬¸ºÔð¶ÔÏó³Ö¾Ã»¯
b) λÓڳ־û¯²ã£¬·â×°ËùÓеÄÊý¾Ý·ÃÎÊϸ½Ú£¬Ê¹ÒµÎñÂß¼²ã¸ü¹Ø×¢ÓÚÒµ ......
1.´´½¨Ïß³Ì
·½Ê½Ò»£ºÍ¨¹ýThreadµÄ×ÓÀà´´½¨£¬´ËʱÐèÒªÔÚThreadÀàµÄ×ÓÀàÖÐÖØÐ´¸¸ÀàµÄpublic void run()·½·¨
·½Ê½¶þ£ºÖ±½ÓʹÓÃThreadÀà´´½¨
  ......