Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓƵ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
һƪÎÄÕÂÈ«Ãæ½âÎö´óÊý¾ÝÅú´¦Àí¿ò¼ÜSpring Batch
 
×÷ÕߣºÁõÏà
  2434  次浏览      19
 2021-8-6
 
±à¼­ÍƼö:
±¾ÎÄÖ÷Òª½éÉÜÁËÅú´¦ÀíµäÐͳ¡¾°¡¢Åú´¦Àí¹Ø¼üÁìÓòÄ£Ðͼ°¹Ø¼ü¼Ü¹¹¡¢ÊµÏÖ×÷ÒµµÄ½¡×³ÐÔÓëÀ©Õ¹ÐÔ¡¢Åú´¦Àí¿ò¼ÜµÄ²»×ãÓëÔöÇ¿µÈÏà¹ØÄÚÈÝ¡£
±¾ÎÄÀ´×ÔÓÚ¼«¿Íʱ¼ä£¬ÓÉ»ðÁú¹ûÈí¼þAnna±à¼­¡¢ÍƼö¡£

Èç½ñ΢·þÎñ¼Ü¹¹ÌÖÂÛµÄÈç»ðÈçݱ¡£µ«ÔÚÆóÒµ¼Ü¹¹Àï³ýÁË´óÁ¿µÄOLTP½»Ò×Í⣬»¹´æÔÚº£Á¿µÄÅú´¦Àí½»Òס£ÔÚÖîÈçÒøÐеĽðÈÚ»ú¹¹ÖУ¬Ã¿ÌìÓÐ3-4Íò±ÊµÄÅú´¦Àí×÷ÒµÐèÒª´¦Àí¡£Õë¶ÔOLTP£¬Òµ½çÓдóÁ¿µÄ¿ªÔ´¿ò¼Ü¡¢ÓÅÐãµÄ¼Ü¹¹Éè¼Æ¸øÓèÖ§³Å£»µ«Åú´¦ÀíÁìÓòµÄ¿ò¼ÜÈ··ïë÷ë½Ç¡£ÊÇʱºòºÍÎÒÃÇÒ»ÆðÀ´Á˽âÏÂÅú´¦ÀíµÄÊÀ½çÄÄЩÓÅÐãµÄ¿ò¼ÜºÍÉè¼ÆÁË£¬½ñÌìÎÒ½«ÒÔSpring BatchΪÀý£¬ºÍ´ó¼ÒÒ»Æð̽ÃØÅú´¦ÀíµÄÊÀ½ç¡£

¡¤³õʶÅú´¦ÀíµäÐͳ¡¾°

¡¤Ì½ÃØÁìÓòÄ£Ðͼ°¹Ø¼ü¼Ü¹¹

¡¤ÊµÏÖ×÷Òµ½¡×³ÐÔÓëÀ©Õ¹ÐÔ

¡¤Åú´¦Àí¿ò¼ÜµÄ²»×ãÓëÔöÇ¿

Åú´¦ÀíµäÐÍÒµÎñ³¡¾°

¶ÔÕËÊǵäÐ͵ÄÅú´¦ÀíÒµÎñ´¦Àí³¡¾°£¬¸÷¸ö½ðÈÚ»ú¹¹µÄÍùÀ´ÒµÎñºÍ¿çÖ÷»úϵͳµÄÒµÎñ¶¼»áÉæ¼°µ½¶ÔÕ˵Ĺý³Ì£¬Èç´óС¶îÖ§¸¶¡¢ÒøÁª½»Òס¢ÈËÐÐÍùÀ´¡¢ÏÖ½ð¹ÜÀí¡¢POSÒµÎñ¡¢ATMÒµÎñ¡¢Ö¤È¯¹«Ë¾×ʽðÕË»§¡¢Ö¤È¯¹«Ë¾Óë֤ȯ½áË㹫˾¡£

ÏÂÃæÊÇijÐÐÍøÒøµÄ²¿·ÖÈÕÖÕÅÜÅúʵÀý³¡¾°ÐèÇó¡£

Éæ¼°µ½µÄÐèÇóµã°üÀ¨£º

1.ÅúÁ¿µÄÿ¸öµ¥Ôª¶¼ÐèÒª´íÎó´¦ÀíºÍ»ØÍË£»

2.ÿ¸öµ¥ÔªÔÚ²»Í¬Æ½Ì¨ÖÐÔËÐУ»

3.ÐèÒªÓзÖ֧ѡÔñ£»

4.ÿ¸öµ¥ÔªÐèÒª¼à¿ØºÍ»ñÈ¡µ¥Ôª´¦ÀíÈÕÖ¾£»

5.Ìṩ¶àÖÖ´¥·¢¹æÔò£¬°´ÈÕÆÚ£¬ÈÕÀú£¬ÖÜÆÚ´¥·¢£»

³ý´ËÖ®ÍâµäÐ͵ÄÅú´¦ÀíÊÊÓÃÓÚÈçϵÄÒµÎñ³¡¾°£º

1.¶¨ÆÚÌá½»Åú´¦ÀíÈÎÎñ£¨ÈÕÖÕ´¦Àí£©

2.²¢ÐÐÅú´¦Àí£º²¢Ðд¦ÀíÈÎÎñ

3.ÆóÒµÏûÏ¢Çý¶¯´¦Àí

4.´ó¹æÄ£µÄ²¢Ðд¦Àí

5.ÊÖ¶¯»ò¶¨Ê±ÖØÆô

6.°´Ë³Ðò´¦ÀíÒÀÀµµÄÈÎÎñ(¿ÉÀ©Õ¹Îª¹¤×÷Á÷Çý¶¯µÄÅú´¦Àí)

7.²¿·Ö´¦Àí£ººöÂԼǼ(ÀýÈçÔڻعöʱ)

8.ÍêÕûµÄÅú´¦ÀíÊÂÎñ

ÓëOLTPÀàÐͽ»Òײ»Í¬£¬Åú´¦Àí×÷ÒµÁ½¸öµäÐÍÌØÕ÷ÊÇÅúÁ¿Ö´ÐÐÓë×Ô¶¯Ö´ÐУ¨ÐèÒªÎÞÈËÖµÊØ£©£ºÇ°ÕßÄܹ»´¦Àí´óÅúÁ¿Êý¾ÝµÄµ¼Èë¡¢µ¼³öºÍÒµÎñÂß¼­¼ÆË㣻ºóÕßÎÞÐèÈ˹¤¸ÉÔ¤£¬Äܹ»×Ô¶¯»¯Ö´ÐÐÅúÁ¿ÈÎÎñ¡£

ÔÚ¹Ø×¢Æä»ù±¾¹¦ÄÜÖ®Í⣬»¹ÐèÒª¹Ø×¢Èçϵļ¸µã£º

½¡×³ÐÔ£º²»»áÒòΪÎÞЧÊý¾Ý»ò´íÎóÊý¾Ýµ¼Ö³ÌÐò±ÀÀ££»

¿É¿¿ÐÔ£ºÍ¨¹ý¸ú×Ù¡¢¼à¿Ø¡¢ÈÕÖ¾¼°Ïà¹ØµÄ´¦Àí²ßÂÔ£¨ÖØÊÔ¡¢Ìø¹ý¡¢ÖØÆô£©ÊµÏÖÅú×÷ÒµµÄ¿É¿¿Ö´ÐУ»

À©Õ¹ÐÔ£ºÍ¨¹ý²¢·¢»òÕß²¢Ðм¼ÊõʵÏÖÓ¦ÓõÄ×ÝÏòºÍºáÏòÀ©Õ¹£¬Âú×㺣Á¿Êý¾Ý´¦ÀíµÄÐÔÄÜÐèÇó£»

¿àÓÚÒµ½çÕæµÄȱÉٱȽϺõÄÅú´¦Àí¿ò¼Ü£¬Spring BatchÊÇÒµ½çĿǰΪÊý²»¶àµÄÓÅÐãÅú´¦Àí¿ò¼Ü£¨JavaÓïÑÔ¿ª·¢£©£¬SpringSourceºÍAccenture£¨°£É­ÕÜ£©¹²Í¬¹±Ï×ÁËÖǻۡ£

AccentureÔÚÅú´¦Àí¼Ü¹¹ÉÏÓÐ×ŷḻµÄ¹¤Òµ¼¶±ðµÄ¾­Ñ飬¹±Ï×ÁË֮ǰרÓõÄÅú´¦ÀíÌåϵ¿ò¼Ü£¨ÕâЩ¿ò¼ÜÀú¾­ÊýÊ®ÄêÑз¢ºÍʹÓã¬ÎªSpring BatchÌṩÁË´óÁ¿µÄ²Î¿¼¾­Ñ飩¡£

SpringSourceÔòÓÐ×ÅÉî¿ÌµÄ¼¼ÊõÈÏÖªºÍSpring¿ò¼Ü±à³ÌÄ£ÐÍ£¬Í¬Ê±½è¼øÁËJCL(Job Control Language)ºÍCOBOLµÄÓïÑÔÌØÐÔ¡£2013ÄêJSR-352½«Åú´¦ÀíÄÉÈë¹æ·¶Ìåϵ£¬²¢±»°üº¬ÔÚÁËJEE7Ö®ÖС£ÕâÒâζ×Å£¬ËùÓеÄJEE7Ó¦Ó÷þÎñÆ÷¶¼»áÓÐÅú´¦ÀíµÄÄÜÁ¦£¬Ä¿Ç°µÚÒ»¸öʵÏִ˹淶µÄÓ¦Ó÷þÎñÆ÷ÊÇGlassfish 4¡£µ±È»Ò²¿ÉÒÔÔÚJava SEÖÐʹÓá£

µ«×îΪ¹Ø¼üµÄÒ»µãÊÇ£ºJSR-352¹æ·¶´óÁ¿½è¼øÁËSpring Batch¿ò¼ÜµÄÉè¼Æ˼·,´ÓÉÏͼÖеĺËÐÄÄ£Ðͺ͸ÅÄîÖпÉÒÔ¿´³ö¾¿¾¹£¬ºËÐĵĸÅÄîÄ£ÐÍÍêÈ«Ò»Ö¡£ÍêÕûµÄJSR-252¹æ·¶¿ÉÒÔ´Óhttps://jcp.org/aboutJava/communityprocess/final/jsr352/index.htmlÏÂÔØ¡£

ͨ¹ýSpring Batch¿ò¼Ü¿ÉÒÔ¹¹½¨³öÇáÁ¿¼¶µÄ½¡×³µÄ²¢Ðд¦ÀíÓ¦ÓÃ,Ö§³ÖÊÂÎñ¡¢²¢·¢¡¢Á÷³Ì¡¢¼à¿Ø¡¢×ÝÏòºÍºáÏòÀ©Õ¹,ÌṩͳһµÄ½Ó¿Ú¹ÜÀíºÍÈÎÎñ¹ÜÀí¡£

¿ò¼ÜÌṩÁËÖîÈçÒÔϵĺËÐÄÄÜÁ¦£¬Èôó¼Ò¸ü¹Ø×¢ÔÚÒµÎñ´¦ÀíÉÏ¡£¸üÊÇÌṩÁËÈçϵķḻÄÜÁ¦£º

1.Ã÷È··ÖÀëÅú´¦ÀíµÄÖ´Ðл·¾³ºÍÓ¦ÓÃ

2.½«Í¨ÓúËÐĵķþÎñÒÔ½Ó¿ÚÐÎʽÌṩ

3.Ìṩ¡°¿ªÏä¼´Óá± µÄ¼òµ¥µÄĬÈϵĺËÐÄÖ´ÐнӿÚ

4.ÌṩSpring¿ò¼ÜÖÐÅäÖá¢×Ô¶¨Òå¡¢ºÍÀ©Õ¹·þÎñ

5.ËùÓÐĬÈÏʵÏֵĺËÐÄ·þÎñÄܹ»ÈÝÒ׵ı»À©Õ¹ÓëÌæ»»£¬²»»áÓ°Ïì»ù´¡²ã

6.Ìṩһ¸ö¼òµ¥µÄ²¿Êðģʽ£¬Ê¹ÓÃMaven½øÐбàÒë

Åú´¦Àí¹Ø¼üÁìÓòÄ£Ðͼ°¹Ø¼ü¼Ü¹¹

ÏÈÀ´¸öHello WorldʾÀý£¬Ò»¸öµäÐ͵ÄÅú´¦Àí×÷Òµ¡£

µäÐ͵ÄÒ»¸ö×÷Òµ·ÖΪ3²¿·Ö£º×÷Òµ¶Á¡¢×÷Òµ´¦Àí¡¢×÷ҵд£¬Ò²ÊǵäÐ͵ÄÈý²½Ê½¼Ü¹¹¡£Õû¸öÅú´¦Àí¿ò¼Ü»ù±¾ÉÏΧÈÆRead¡¢Process¡¢WriterÀ´´¦Àí¡£³ý´ËÖ®Í⣬¿ò¼ÜÌṩÁË×÷Òµµ÷¶ÈÆ÷¡¢×÷Òµ²Ö¿â£¨ÓÃÒÔ´æ·ÅJobµÄÔªÊý¾ÝÐÅÏ¢£¬Ö§³ÖÄÚ´æ¡¢DBÁ½ÖÖģʽ£©¡£

ÍêÕûµÄÁìÓò¸ÅÄîÄ£ÐͲμÓÏÂͼ£º

Job Launcher£¨×÷Òµµ÷¶ÈÆ÷£©ÊÇSpring Batch¿ò¼Ü»ù´¡ÉèÊ©²ãÌṩµÄÔËÐÐJobµÄÄÜÁ¦¡£Í¨¹ý¸ø¶¨µÄJobÃû³ÆºÍ×÷Job Parameters£¬¿ÉÒÔͨ¹ýJob LauncherÖ´ÐÐJob¡£

ͨ¹ýJob Launcher¿ÉÒÔÔÚJava³ÌÐòÖе÷ÓÃÅú´¦ÀíÈÎÎñ£¬Ò²¿ÉÒÔÔÚͨ¹ýÃüÁîÐлòÕßÆäËü¿ò¼Ü£¨È綨ʱµ÷¶È¿ò¼ÜQuartz£©Öе÷ÓÃÅú´¦ÀíÈÎÎñ¡£

Job RepositoryÀ´´æ´¢JobÖ´ÐÐÆÚµÄÔªÊý¾Ý£¨ÕâÀïµÄÔªÊý¾ÝÊÇÖ¸Job Instance¡¢Job Execution¡¢Job Parameters¡¢Step Execution¡¢Execution ContextµÈÊý¾Ý£©£¬²¢ÌṩÁ½ÖÖĬÈÏʵÏÖ¡£

Ò»ÖÖÊÇ´æ·ÅÔÚÄÚ´æÖУ»ÁíÒ»ÖÖ½«ÔªÊý¾Ý´æ·ÅÔÚÊý¾Ý¿âÖС£Í¨¹ý½«ÔªÊý¾Ý´æ·ÅÔÚÊý¾Ý¿âÖУ¬¿ÉÒÔËæʱ¼à¿ØÅú´¦ÀíJobµÄÖ´ÐÐ״̬¡£JobÖ´Ðнá¹ûÊdzɹ¦»¹ÊÇʧ°Ü£¬²¢ÇÒʹµÃÔÚJobʧ°ÜµÄÇé¿öÏÂÖØÐÂÆô¶¯Job³ÉΪ¿ÉÄÜ¡£Step±íʾ×÷ÒµÖеÄÒ»¸öÍêÕû²½Ö裬һ¸öJob¿ÉÒÔÓÐÒ»¸ö»òÕ߶à¸öStep×é³É¡£

Åú´¦Àí¿ò¼ÜÔËÐÐÆÚµÄÄ£ÐÍÒ²·Ç³£¼òµ¥£º

Job Instance£¨×÷ҵʵÀý£©ÊÇÒ»¸öÔËÐÐÆڵĸÅÄJobÿִÐÐÒ»´Î¶¼»áÉæ¼°µ½Ò»¸öJob Instance¡£

Job InstanceÀ´Ô´¿ÉÄÜÓÐÁ½ÖÖ£ºÒ»ÖÖÊǸù¾ÝÉèÖõÄJob Parameters´ÓJob Repository£¨×÷Òµ²Ö¿â£©ÖлñÈ¡Ò»¸ö£»Èç¹û¸ù¾ÝJob Parameters´ÓJob RepositoryûÓлñÈ¡Job Instance£¬Ôòд´½¨Ò»¸öеÄJob Instance¡£

Job Execution±íʾJobÖ´Ðеľä±ú£¬Ò»´ÎJobµÄÖ´ÐпÉÄܳɹ¦Ò²¿ÉÄÜʧ°Ü¡£Ö»ÓÐJobÖ´Ðгɹ¦ºó£¬¶ÔÓ¦µÄJob Instance²Å»á±»Íê³É¡£Òò´ËÔÚJobÖ´ÐÐʧ°ÜµÄÇé¿öÏ£¬»áÓÐÒ»¸öJob Instance¶ÔÓ¦¶à¸öJob ExecutionµÄ³¡¾°·¢Éú¡£

×ܽáÏÂÅú´¦ÀíµÄµäÐ͸ÅÄîÄ£ÐÍ£¬ÆäÉè¼Æ·Ç³£¾«¼òµÄÊ®¸ö¸ÅÄÍêÕûÖ§³ÅÁËÕû¸ö¿ò¼Ü¡£

JobÌṩµÄºËÐÄÄÜÁ¦°üÀ¨×÷ÒµµÄ³éÏóÓë¼Ì³Ð£¬ÀàËÆÃæÏò¶ÔÏóÖеĸÅÄî¡£¶ÔÓÚÖ´ÐÐÒì³£µÄ×÷Òµ£¬ÌṩÖØÆôµÄÄÜÁ¦¡£

¿ò¼ÜÔÚJob²ãÃ棬ͬÑùÌṩÁË×÷Òµ±àÅŵĸÅÄ°üÀ¨Ë³Ðò¡¢Ìõ¼þ¡¢²¢ÐÐ×÷Òµ±àÅÅ¡£

ÔÚÒ»¸öJobÖÐÅäÖöà¸öStep¡£²»Í¬µÄStep¼ä¿ÉÒÔ˳ÐòÖ´ÐУ¬Ò²¿ÉÒÔ°´ÕÕ²»Í¬µÄÌõ¼þÓÐÑ¡ÔñµÄÖ´ÐУ¨Ìõ¼þͨ³£Ê¹ÓÃStepµÄÍ˳ö״̬¾ö¶¨£©£¬Í¨¹ýnextÔªËØ»òÕßdecisionÔªËØÀ´¶¨ÒåÌøת¹æÔò£»

ΪÁËÌá¸ß¶à¸öStepµÄÖ´ÐÐЧÂÊ£¬¿ò¼ÜÌṩÁËStep²¢ÐÐÖ´ÐеÄÄÜÁ¦£¨Ê¹ÓÃsplit½øÐÐÉùÃ÷£¬Í¨³£¸ÃÇé¿öÏÂÐèÒªStepÖ®¼äûÓÐÈκεÄÒÀÀµ¹Øϵ£¬·ñÔòÈÝÒ×ÒýÆðÒµÎñÉϵĴíÎ󣩡£Step°üº¬ÁËÒ»¸öʵ¼ÊÔËÐеÄÅú´¦ÀíÈÎÎñÖеÄËùÓбØÐèµÄÐÅÏ¢£¬ÆäʵÏÖ¿ÉÒÔÊǷdz£¼òµ¥µÄÒµÎñʵÏÖ£¬Ò²¿ÉÒÔÊǷdz£¸´ÔÓµÄÒµÎñ´¦Àí£¬StepµÄ¸´Ôӳ̶Èͨ³£ÊÇÒµÎñ¾ö¶¨µÄ¡£

ÿ¸öStepÓÉItemReader¡¢ItemProcessor¡¢ItemWriter×é³É£¬µ±È»¸ù¾Ý²»Í¬µÄÒµÎñÐèÇó£¬ItemProcessor¿ÉÒÔ×öÊʵ±µÄ¾«¼ò¡£Í¬Ê±¿ò¼ÜÌṩÁË´óÁ¿µÄItemReader¡¢ItemWriterµÄʵÏÖ£¬ÌṩÁ˶ÔFlatFile¡¢XML¡¢Json¡¢DataBase¡¢MessageµÈ¶àÖÖÊý¾ÝÀàÐ͵ÄÖ§³Ö¡£

¿ò¼Ü»¹ÎªStepÌṩÁËÖØÆô¡¢ÊÂÎñ¡¢ÖØÆô´ÎÊý¡¢²¢·¢Êý£»ÒÔ¼°Ìá½»¼ä¸ô¡¢Òì³£Ìø¹ý¡¢ÖØÊÔ¡¢Íê³É²ßÂÔµÈÄÜÁ¦¡£»ùÓÚStepµÄÁé»îÅäÖ㬿ÉÒÔÍê³É³£¼ûµÄÒµÎñ¹¦ÄÜÐèÇó¡£ÆäÖÐÈý²½×ߣ¨Read¡¢Processor¡¢Writer£©ÊÇÅú´¦ÀíÖеľ­µä³éÏó¡£

×÷ΪÃæÏòÅúµÄ´¦Àí£¬ÔÚStep²ãÌṩÁ˶à´Î¶Á¡¢´¦Àí£¬Ò»´ÎÌá½»µÄÄÜÁ¦¡£

ÔÚChunkµÄ²Ù×÷ÖУ¬¿ÉÒÔͨ¹ýÊôÐÔcommit-intervalÉèÖÃread¶àÉÙÌõ¼Ç¼ºó½øÐÐÒ»´ÎÌá½»¡£Í¨¹ýÉèÖÃcommit-intervalµÄ¼ä¸ôÖµ£¬¼õÉÙÌύƵ´Î£¬½µµÍ×ÊԴʹÓÃÂÊ¡£StepµÄÿһ´ÎÌá½»×÷Ϊһ¸öÍêÕûµÄÊÂÎñ´æÔÚ¡£Ä¬ÈϲÉÓÃSpringÌṩµÄÉùÃ÷ʽÊÂÎñ¹ÜÀíģʽ£¬ÊÂÎñ±àÅŷdz£·½±ã¡£ÈçÏÂÊÇÒ»¸öÉùÃ÷ÊÂÎñµÄʾÀý£º

¿ò¼Ü¶ÔÓÚÊÂÎñµÄÖ§³ÖÄÜÁ¦°üÀ¨£º

1.ChunkÖ§³ÖÊÂÎñ¹ÜÀí£¬Í¨¹ýcommit-intervalÉèÖÃÿ´ÎÌá½»µÄ¼Ç¼Êý£»

2.Ö§³Ö¶Ôÿ¸öTaskletÉèÖÃϸÁ£¶ÈµÄÊÂÎñÅäÖ㺸ôÀë½ç±ð¡¢´«²¥ÐÐΪ¡¢³¬Ê±£»

3.Ö§³ÖrollbackºÍno rollback£¬Í¨¹ýskippable-exception-classesºÍno-rollback-exception-classes½øÐÐÖ§³Å£»

4.Ö§³ÖJMS QueueµÄÊÂÎñ¼¶±ðÅäÖã»

ÁíÍ⣬ÔÚ¿ò¼Ü×ÊÉîµÄÄ£ÐͳéÏó·½Ã棬Spring BatchÒ²×öÁ˼«Îª¾«¼òµÄ³éÏó¡£

½ö½öʹÓÃÁùÕÅÒµÎñ±í´æ´¢ÁËËùÓеÄÔªÊý¾ÝÐÅÏ¢£¨°üÀ¨Job¡¢StepµÄʵÀý£¬ÉÏÏÂÎÄ£¬Ö´ÐÐÆ÷ÐÅÏ¢£¬ÎªºóÐøµÄ¼à¿Ø¡¢ÖØÆô¡¢ÖØÊÔ¡¢×´Ì¬»Ö¸´µÈÌṩÁË¿ÉÄÜ£©¡£

BATCH_JOB_INSTANCE£º×÷ҵʵÀý±í£¬ÓÃÓÚ´æ·ÅJobµÄʵÀýÐÅÏ¢

BATCH_JOB_EXECUTION_PARAMS£º×÷Òµ²ÎÊý±í£¬ÓÃÓÚ´æ·Åÿ¸öJobÖ´ÐÐʱºòµÄ²ÎÊýÐÅÏ¢£¬¸Ã²ÎÊýʵ¼Ê¶ÔÓ¦JobʵÀýµÄ¡£

BATCH_JOB_EXECUTION£º×÷ÒµÖ´ÐÐÆ÷±í£¬ÓÃÓÚ´æ·Åµ±Ç°×÷ÒµµÄÖ´ÐÐÐÅÏ¢£¬±ÈÈç´´½¨Ê±¼ä£¬Ö´ÐпªÊ¼Ê±¼ä£¬Ö´ÐнáÊøʱ¼ä£¬Ö´ÐеÄÄǸöJobʵÀý£¬Ö´ÐÐ״̬µÈ¡£

BATCH_JOB_EXECUTION_CONTEXT£º×÷ÒµÖ´ÐÐÉÏÏÂÎÄ±í£¬ÓÃÓÚ´æ·Å×÷ÒµÖ´ÐÐÆ÷ÉÏÏÂÎĵÄÐÅÏ¢¡£

BATCH_STEP_EXECUTION£º×÷Òµ²½Ö´ÐÐÆ÷±í£¬ÓÃÓÚ´æ·Åÿ¸öStepÖ´ÐÐÆ÷µÄÐÅÏ¢£¬±ÈÈç×÷Òµ²½¿ªÊ¼Ö´ÐÐʱ¼ä£¬Ö´ÐÐÍê³Éʱ¼ä£¬Ö´ÐÐ״̬£¬¶Áд´ÎÊý£¬Ìø¹ý´ÎÊýµÈÐÅÏ¢¡£

BATCH_STEP_EXECUTION_CONTEXT£º×÷Òµ²½Ö´ÐÐÉÏÏÂÎÄ±í£¬ÓÃÓÚ´æ·Åÿ¸ö×÷Òµ²½ÉÏÏÂÎĵÄÐÅÏ¢¡£

ʵÏÖ×÷ÒµµÄ½¡×³ÐÔÓëÀ©Õ¹ÐÔ

Åú´¦ÀíÒªÇóJob±ØÐëÓнÏÇ¿µÄ½¡×³ÐÔ£¬Í¨³£JobÊÇÅúÁ¿´¦ÀíÊý¾Ý¡¢ÎÞÈËÖµÊصģ¬ÕâÒªÇóÔÚJobÖ´ÐÐÆÚ¼äÄܹ»Ó¦¶Ô¸÷ÖÖ·¢ÉúµÄÒì³£¡¢´íÎ󣬲¢¶ÔJobÖ´ÐнøÐÐÓÐЧµÄ¸ú×Ù¡£

Ò»¸ö½¡×³µÄJobͨ³£ÐèÒª¾ß±¸Èçϵļ¸¸öÌØÐÔ£º

1. ÈÝ´íÐÔ

ÔÚJobÖ´ÐÐÆÚ¼ä·ÇÖÂÃüµÄÒì³££¬JobÖ´Ðпò¼ÜÓ¦Äܹ»½øÐÐÓÐЧµÄÈÝ´í´¦Àí£¬¶ø²»ÊÇÈÃÕû¸öJobÖ´ÐÐʧ°Ü£»Í¨³£Ö»ÓÐÖÂÃüµÄ¡¢µ¼ÖÂÒµÎñ²»ÕýÈ·µÄÒì³£²Å¿ÉÒÔÖÕÖ¹JobµÄÖ´ÐС£

2. ¿É×·×ÙÐÔ

JobÖ´ÐÐÆÚ¼äÈκη¢Éú´íÎóµÄµØ·½¶¼ÐèÒª½øÐÐÓÐЧµÄ¼Ç¼£¬·½±ãºóÆÚ¶Ô´íÎóµã½øÐÐÓÐЧµÄ´¦Àí¡£ÀýÈçÔÚJobÖ´ÐÐÆÚ¼äÈκ௧öÂÔ´¦ÀíµÄ¼Ç¼ÐÐÐèÒª±»ÓÐЧµÄ¼Ç¼ÏÂÀ´£¬Ó¦ÓóÌÐòά»¤ÈËÔ±¿ÉÒÔÕë¶Ô±»ºöÂԵļǼºóÐø×öÓÐЧµÄ´¦Àí¡£

3. ¿ÉÖØÆôÐÔ

JobÖ´ÐÐÆÚ¼äÈç¹ûÒòΪÒì³£µ¼ÖÂʧ°Ü£¬Ó¦¸ÃÄܹ»ÔÚʧ°ÜµÄµãÖØÐÂÆô¶¯Job£»¶ø²»ÊÇ´ÓÍ·¿ªÊ¼ÖØÐÂÖ´ÐÐJob¡£

¿ò¼ÜÌṩÁËÖ§³ÖÉÏÃæËùÓÐÄÜÁ¦µÄÌØÐÔ£¬°üÀ¨Skip£¨Ìø¹ý¼Ç¼´¦Àí£©¡¢Retry£¨ÖØÊÔ¸ø¶¨µÄ²Ù×÷£©¡¢Restart£¨´Ó´íÎóµã¿ªÊ¼ÖØÐÂÆô¶¯Ê§°ÜµÄJob£©£º

Skip£¬ÔÚ¶ÔÊý¾Ý´¦ÀíÆڼ䣬Èç¹ûÊý¾ÝµÄij¼¸ÌõµÄ¸ñʽ²»ÄÜÂú×ãÒªÇ󣬿ÉÒÔͨ¹ýSkipÌø¹ý¸ÃÐмǼµÄ´¦Àí£¬ÈÃProcessorÄܹ»Ë³ÀûµÄ´¦ÀíÆäÓàµÄ¼Ç¼ÐС£

Retry£¬½«¸ø¶¨µÄ²Ù×÷½øÐжà´ÎÖØÊÔ£¬ÔÚijЩÇé¿öϲÙ×÷ÒòΪ¶ÌÔݵÄÒì³£µ¼ÖÂÖ´ÐÐʧ°Ü£¬ÈçÍøÂçÁ¬½ÓÒì³£¡¢²¢·¢´¦ÀíÒì³£µÈ£¬¿ÉÒÔͨ¹ýÖØÊԵķ½Ê½±ÜÃâµ¥´ÎµÄʧ°Ü£¬Ï´ÎÖ´ÐвÙ×÷ʱºòÍøÂç»Ö¸´Õý³££¬²»ÔÙÓв¢·¢µÄÒì³££¬ÕâÑùͨ¹ýÖØÊÔµÄÄÜÁ¦¿ÉÒÔÓÐЧµÄ±ÜÃâÕâÀà¶ÌÔݵÄÒì³£¡£

Restart£¬ÔÚJobÖ´ÐÐʧ°Üºó£¬¿ÉÒÔͨ¹ýÖØÆô¹¦ÄÜÀ´¼ÌÐøÍê³ÉJobµÄÖ´ÐС£ÔÚÖØÆôʱºò£¬Åú´¦Àí¿ò¼ÜÔÊÐíÔÚÉÏ´ÎÖ´ÐÐʧ°ÜµÄµãÖØÐÂÆô¶¯Job£¬¶ø²»ÊÇ´ÓÍ·¿ªÊ¼Ö´ÐУ¬ÕâÑù¿ÉÒÔ´ó·ùÌá¸ßJobÖ´ÐеÄЧÂÊ¡£

¶ÔÓÚÀ©Õ¹ÐÔ£¬¿ò¼ÜÌṩµÄÀ©Õ¹ÄÜÁ¦°üÀ¨ÈçϵÄËÄÖÖģʽ :

Multithreaded Step ¶àÏß³ÌÖ´ÐÐÒ»¸öStep;

Parallel Step ͨ¹ý¶àÏ̲߳¢ÐÐÖ´Ðжà¸öStep;

Remote Chunking ÔÚÔ¶¶Ë½ÚµãÉÏÖ´Ðзֲ¼Ê½Chunk²Ù×÷;

Partitioning Step ¶ÔÊý¾Ý½øÐзÖÇø£¬²¢·Ö¿ªÖ´ÐÐ;

ÎÒÃÇÏÈÀ´¿´µÚÒ»ÖÖµÄʵÏÖMultithreaded Step£º

Åú´¦Àí¿ò¼ÜÔÚJobÖ´ÐÐʱĬÈÏʹÓõ¥¸öÏß³ÌÍê³ÉÈÎÎñµÄÖ´ÐУ¬Í¬Ê±¿ò¼ÜÌṩÁËÏ̳߳صÄÖ§³Ö£¨Multithreaded Stepģʽ£©£¬¿ÉÒÔÔÚStepÖ´ÐÐʱºò½øÐв¢Ðд¦Àí£¬ÕâÀïµÄ²¢ÐÐÊÇָͬһ¸öStepʹÓÃÏ̳߳ؽøÐÐÖ´ÐУ¬Í¬Ò»¸öStep±»²¢ÐеÄÖ´ÐС£Ê¹ÓÃtaskletµÄÊôÐÔtask-executor¿ÉÒԷdz£ÈÝÒ׵Ľ«ÆÕͨµÄStep±ä³É¶àÏß³ÌStep¡£

Multithreaded StepµÄʵÏÖʾÀý£º

ÐèҪעÒâµÄÊÇSpring Batch¿ò¼ÜÌṩµÄ´ó²¿·ÖµÄItemReader¡¢ItemWriterµÈ²Ù×÷¶¼ÊÇÏ̲߳»°²È«µÄ¡£

¿ÉÒÔͨ¹ýÀ©Õ¹µÄ·½Ê½ÏÔÏÖḬ̈߳²È«µÄStep¡£

ÏÂÃæΪ´ó¼Òչʾһ¸öÀ©Õ¹µÄʵÏÖ£º

ÐèÇó£ºÕë¶ÔÊý¾Ý±íµÄÅúÁ¿´¦Àí£¬ÊµÏÖḬ̈߳²È«µÄStep£¬²¢ÇÒÖ§³ÖÖØÆôÄÜÁ¦£¬¼´ÔÚÖ´ÐÐʧ°Üµã¿ÉÒԼǼÅú´¦ÀíµÄ״̬¡£

¶ÔÓÚʾÀýÖеÄÊý¾Ý¿â¶ÁÈ¡×é¼þJdbcCursorItemReader£¬ÔÚÉè¼ÆÊý¾Ý¿â±íʱ£¬ÔÚ±íÖÐÔö¼ÓÒ»¸ö×Ö¶ÎFlag£¬ÓÃÓÚ±êʶµ±Ç°µÄ¼Ç¼ÊÇ·ñÒѾ­¶ÁÈ¡²¢´¦Àí³É¹¦£¬Èç¹û´¦Àí³É¹¦Ôò±êʶFlag=true£¬µÈÏ´ÎÖØжÁÈ¡µÄʱºò£¬¶ÔÓÚÒѾ­³É¹¦¶ÁÈ¡ÇÒ´¦Àí³É¹¦µÄ¼Ç¼ֱ½ÓÌø¹ý´¦Àí¡£

Multithreaded Step£¨¶àÏ̲߳½£©ÌṩÁ˶à¸öÏß³ÌÖ´ÐÐÒ»¸öStepµÄÄÜÁ¦£¬µ«ÕâÖÖ³¡¾°ÔÚʵ¼ÊµÄÒµÎñÖÐʹÓõIJ¢²»ÊǷdz£¶à¡£

¸ü¶àµÄÒµÎñ³¡¾°ÊÇJobÖв»Í¬µÄStepûÓÐÃ÷È·µÄÏȺó˳Ðò£¬¿ÉÒÔÔÚÖ´ÐÐÆÚ²¢ÐеÄÖ´ÐС£

Parallel Step£ºÌṩµ¥¸ö½ÚµãºáÏòÀ©Õ¹µÄÄÜÁ¦

ʹÓó¡¾°£ºStep A¡¢Step BÁ½¸ö×÷Òµ²½Óɲ»Í¬µÄÏß³ÌÖ´ÐУ¬Á½Õß¾ùÖ´ÐÐÍê±Ïºó£¬Step C²Å»á±»Ö´ÐС£

¿ò¼ÜÌṩÁ˲¢ÐÐStepµÄÄÜÁ¦¡£¿ÉÒÔͨ¹ýSplitÔªËØÀ´¶¨Òå²¢ÐеÄ×÷ÒµÁ÷£¬²¢Öƶ¨Ê¹ÓõÄÏ̳߳ء£

Parallel StepģʽµÄÖ´ÐÐЧ¹ûÈçÏ£º

ÿ¸ö×÷Òµ²½²¢Ðд¦Àí²»Í¬µÄ¼Ç¼£¬Ê¾ÀýÖÐÈý¸ö×÷Òµ²½£¬´¦ÀíͬһÕűíÖеIJ»Í¬Êý¾Ý¡£

²¢ÐÐStepÌṩÁËÔÚÒ»¸ö½ÚµãÉϺáÏò´¦Àí£¬µ«Ëæ×Å×÷Òµ´¦ÀíÁ¿µÄÔö¼Ó£¬ÓпÉÄÜһ̨½ÚµãÎÞ·¨Âú×ãJobµÄ´¦Àí£¬´ËʱÎÒÃÇ¿ÉÒÔ²ÉÓÃÔ¶³ÌStepµÄ·½Ê½½«¶à¸ö»úÆ÷½Úµã×éºÏÆðÀ´Íê³ÉÒ»¸öJobµÄ´¦Àí¡£

Remote Chunking£ºÔ¶³ÌStep¼¼Êõ±¾ÖÊÉÏÊǽ«¶ÔItem¶Á¡¢Ð´µÄ´¦ÀíÂß¼­½øÐзÖÀ룻ͨ³£Çé¿ö϶ÁµÄÂß¼­·ÅÔÚÒ»¸ö½Úµã½øÐвÙ×÷£¬½«Ð´²Ù×÷·Ö·¢µ½ÁíÍâµÄ½ÚµãÖ´ÐС£

Ô¶³Ì·Ö¿éÊÇÒ»¸ö°Ñstep½øÐм¼Êõ·Ö¸îµÄ¹¤×÷£¬²»ÐèÒª¶Ô´¦ÀíÊý¾ÝµÄ½á¹¹ÓÐÃ÷È·Á˽⡣

ÈκÎÊäÈëÔ´Äܹ»Ê¹Óõ¥½ø³Ì¶ÁÈ¡²¢ÔÚ¶¯Ì¬·Ö¸îºó×÷Ϊ"¿é"·¢Ë͸øÔ¶³ÌµÄ¹¤×÷½ø³Ì¡£

Ô¶³Ì½ø³ÌʵÏÖÁ˼àÌýÕßģʽ£¬·´À¡ÇëÇó¡¢´¦ÀíÊý¾Ý×îÖÕ½«´¦Àí½á¹ûÒì²½·µ»Ø¡£ÇëÇóºÍ·µ»ØÖ®¼äµÄ´«Êä»á±»È·±£ÔÚ·¢ËÍÕߺ͵¥¸öÏû·ÑÕßÖ®¼ä¡£

ÔÚMaster½Úµã£¬×÷Òµ²½¸ºÔð¶ÁÈ¡Êý¾Ý£¬²¢½«¶ÁÈ¡µÄÊý¾Ýͨ¹ýÔ¶³Ì¼¼Êõ·¢Ë͵½Ö¸¶¨µÄÔ¶¶Ë½ÚµãÉÏ£¬½øÐд¦Àí£¬´¦ÀíÍê±ÏºóMaster¸ºÔð»ØÊÕRemote¶ËÖ´ÐеÄÇé¿ö¡£

ÔÚSpring Batch¿ò¼ÜÖÐͨ¹ýÁ½¸öºËÐĵĽӿÚÀ´Íê³ÉÔ¶³ÌStepµÄÈÎÎñ£¬·Ö±ðÊÇChunkProviderÓëChunkProcessor¡£

ChunkProvider£º¸ù¾Ý¸ø¶¨µÄItemReader²Ù×÷²úÉúÅúÁ¿µÄChunk²Ù×÷£»

ChunkProcessor£º¸ºÔð»ñÈ¡ChunkProvider²úÉúµÄChunk²Ù×÷£¬Ö´ÐоßÌåµÄдÂß¼­£»

Spring BatchÖжÔÔ¶³ÌStepûÓÐĬÈϵÄʵÏÖ£¬µ«ÎÒÃÇ¿ÉÒÔ½èÖúSI»òÕßAMQPʵÏÖÀ´ÊµÏÖÔ¶³ÌͨѶÄÜÁ¦¡£

»ùÓÚSIʵÏÖRemote ChunkingģʽµÄʾÀý£º

Step±¾µØ½Úµã¸ºÔð¶ÁÈ¡Êý¾Ý£¬²¢Í¨¹ýMessagingGateway½«ÇëÇó·¢Ë͵½Ô¶³ÌStepÉÏ£»Ô¶³ÌStepÌṩÁ˶ÓÁеļàÌýÆ÷£¬µ±ÇëÇó¶ÓÁÐÖÐÓÐÏûϢʱºò»ñÈ¡ÇëÇóÐÅÏ¢²¢½»¸øChunkHander¸ºÔð´¦Àí¡£

½ÓÏÂÀ´ÎÒÃÇ¿´ÏÂ×îºóÒ»ÖÖ·ÖÇøģʽ£»Partitioning Step£º·ÖÇøģʽÐèÒª¶ÔÊý¾ÝµÄ½á¹¹ÓÐÒ»¶¨µÄÁ˽⣬ÈçÖ÷¼üµÄ·¶Î§¡¢´ý´¦ÀíµÄÎļþµÄÃû×ֵȡ£

ÕâÖÖģʽµÄÓŵãÔÚÓÚ·ÖÇøÖÐÿһ¸öÔªËصĴ¦ÀíÆ÷¶¼Äܹ»ÏñÒ»¸öÆÕͨSpring BatchÈÎÎñµÄµ¥²½Ò»ÑùÔËÐУ¬Ò²²»±ØȥʵÏÖÈκÎÌØÊâµÄ»òÊÇеÄģʽ£¬À´ÈÃËûÃÇÄܹ»¸üÈÝÒ×ÅäÖÃÓë²âÊÔ¡£

ͨ¹ý·ÖÇø¿ÉÒÔʵÏÖÒÔϵÄÓŵ㣺

·ÖÇøʵÏÖÁ˸üϸÁ£¶ÈµÄÀ©Õ¹£»

»ùÓÚ·ÖÇø¿ÉÒÔʵÏÖ¸ßÐÔÄܵÄÊý¾ÝÇз֣»

·ÖÇø±ÈÔ¶³Ìͨ³£¾ßÓиü¸ßµÄÀ©Õ¹ÐÔ£»

·ÖÇøºóµÄ´¦ÀíÂß¼­£¬Ö§³Ö±¾µØÓëÔ¶³ÌÁ½ÖÖģʽ£»

·ÖÇø×÷ÒµµäÐ͵ĿÉÒÔ·Ö³ÉÁ½¸ö´¦Àí½×¶Î£¬Êý¾Ý·ÖÇø¡¢·ÖÇø´¦Àí£»

Êý¾Ý·ÖÇø£º¸ù¾ÝÌØÊâµÄ¹æÔò£¨ÀýÈ磺¸ù¾ÝÎļþÃû³Æ£¬Êý¾ÝµÄΨһÐÔ±êʶ£¬»òÕß¹þÏ£Ëã·¨£©½«Êý¾Ý½øÐкÏÀíµÄÊý¾ÝÇÐƬ£¬Îª²»Í¬µÄÇÐƬÉú³ÉÊý¾ÝÖ´ÐÐÉÏÏÂÎÄExecution Context¡¢×÷Òµ²½Ö´ÐÐÆ÷Step Execution¡£¿ÉÒÔͨ¹ý½Ó¿ÚPartitionerÉú³É×Ô¶¨ÒåµÄ·ÖÇøÂß¼­£¬Spring BatchÅú´¦Àí¿ò¼ÜĬÈÏʵÏÖÁ˶ԶàÎļþµÄʵÏÖorg.springframework.batch.core.partition.support.MultiResourcePartitioner£»Ò²¿ÉÒÔ×ÔÐÐÀ©Õ¹½Ó¿ÚPartitionerÀ´ÊµÏÖ×Ô¶¨ÒåµÄ·ÖÇøÂß¼­¡£

·ÖÇø´¦Àí£ºÍ¨¹ýÊý¾Ý·ÖÇøºó£¬²»Í¬µÄÊý¾ÝÒѾ­±»·ÖÅäµ½²»Í¬µÄ×÷Òµ²½Ö´ÐÐÆ÷ÖУ¬½ÓÏÂÀ´ÐèÒª½»¸ø·ÖÇø´¦ÀíÆ÷½øÐÐ×÷Òµ£¬·ÖÇø´¦ÀíÆ÷¿ÉÒÔ±¾µØÖ´ÐÐÒ²¿ÉÒÔÔ¶³ÌÖ´Ðб»»®·ÖµÄ×÷Òµ¡£½Ó¿ÚPartitionHandler¶¨ÒåÁË·ÖÇø´¦ÀíµÄÂß¼­£¬Spring BatchÅú´¦Àí¿ò¼ÜĬÈÏʵÏÖÁ˱¾µØ¶àÏ̵߳ķÖÇø´¦Àíorg.springframework.batch.core.partition.support.TaskExecutorPartitionHandler£»Ò²¿ÉÒÔ×ÔÐÐÀ©Õ¹½Ó¿ÚPartitionHandlerÀ´ÊµÏÖ×Ô¶¨ÒåµÄ·ÖÇø´¦ÀíÂß¼­¡£

Spring Batch¿ò¼ÜÌṩÁ˶ÔÎļþ·ÖÇøµÄÖ§³Ö£¬ÊµÏÖÀàorg.springframework.batch.core.partition.support.MultiResourcePartitionerÌṩÁ˶ÔÎļþ·ÖÇøµÄĬÈÏÖ§³Ö£¬¸ù¾ÝÎļþÃû½«²»Í¬µÄÎļþ´¦Àí½øÐзÖÇø£¬ÌáÉý´¦ÀíµÄËٶȺÍЧÂÊ£¬ÊʺÏÓдóÁ¿Ð¡ÎļþÐèÒª´¦ÀíµÄ³¡¾°¡£

ʾÀýչʾÁ˽«²»Í¬Îļþ·ÖÅäµ½²»Í¬µÄ×÷Òµ²½ÖУ¬Ê¹ÓÃMultiResourcePartitioner½øÐзÖÇø£¬Òâζ×Åÿ¸öÎļþ»á±»·ÖÅäµ½Ò»¸ö²»Í¬µÄ·ÖÇøÖС£Èç¹ûÓÐÆäËüµÄ·ÖÇø¹æÔò£¬¿ÉÒÔͨ¹ýʵÏÖ½Ó¿ÚPartitionerÀ´½øÐÐ×Ô¶¨ÒåµÄÀ©Õ¹¡£ÓÐÐËȤµÄTX£¬¿ÉÒÔ×Ô¼ºÊµÏÖ»ùÓÚÊý¾Ý¿âµÄ·ÖÇøÄÜÁ¦Å¶¡£

×ܽáһϣ¬Åú´¦Àí¿ò¼ÜÔÚÀ©Õ¹ÐÔÉÏÌṩÁË4Öв»Í¬ÄÜÁ¦£¬Ã¿ÖÖ¶¼ÊǸ÷×ÔµÄʹÓó¡¾°£¬ÎÒÃÇ¿ÉÒÔ¸ù¾Ýʵ¼ÊµÄÒµÎñÐèÒª½øÐÐÑ¡Ôñ¡£

Åú´¦Àí¿ò¼ÜµÄ²»×ãÓëÔöÇ¿

Spring BatchÅú´¦Àí¿ò¼ÜËäÈ»ÌṩÁË4ÖÖ²»Í¬µÄ¼à¿Ø·½Ê½£¬µ«´ÓÄ¿Ç°µÄʹÓÃÇé¿öÀ´¿´£¬¶¼²»ÊǷdz£µÄÓѺá£

ͨ¹ýDBÖ±½Ó²é¿´£¬¶ÔÓÚ¹ÜÀíÈËÔ±À´½²£¬ÕæµÄ²»ÈÌÖ±ÊÓ£»

ͨ¹ýAPIʵÏÖ×Ô¶¨ÒåµÄ²éѯ£¬ÕâÊdzÌÐòÔ±µÄÌìÌã¬È·ÊµÔËάÈËÔ±µÄµØÓü£»

ÌṩÁËWeb¿ØÖÆ̨£¬½øÐÐJobµÄ¼à¿ØºÍ²Ù×÷£¬Ä¿Ç°ÌṩµÄ¹¦ÄÜÌ«Â㶣¬ÎÞ·¨Ö±½ÓÓÃÓÚÉú²ú£»

ÌṩJMX²éѯ·½Ê½£¬¶ÔÓÚ·Ç¿ª·¢ÈËԱ̫²»ÓѺã»

µ«ÔÚÆóÒµ¼¶Ó¦ÓÃÖÐÃæ¶ÔÅúÁ¿Êý¾Ý´¦Àí£¬½ö½öÌṩÅú´¦Àí¿ò¼Ü½öÄÜÂú×ãÅú´¦Àí×÷ÒµµÄ¿ìËÙ¿ª·¢¡¢Ö´ÐÐÄÜÁ¦¡£

ÆóÒµÐèҪͳһµÄÅú´¦Àíƽ̨À´´¦Àí¸´ÔÓµÄÆóÒµÅú´¦ÀíÓ¦Óã¬Åú´¦Àíƽ̨ÐèÒª½â¾ö×÷ÒµµÄͳһµ÷¶È¡¢Åú´¦Àí×÷ÒµµÄ¼¯ÖйÜÀíºÍ¹Ü¿Ø¡¢Åú´¦Àí×÷ÒµµÄͳһ¼à¿ØµÈÄÜÁ¦¡£

ÄÇÍêÃÀµÄ½â¾ö·½°¸ÊÇʲôÄØ£¿

ÆóÒµ¼¶Åú´¦Àíƽ̨ÐèÒªÔÚSpring BatchÅú´¦Àí¿ò¼ÜµÄ»ù´¡ÉÏ£¬¼¯³Éµ÷¶È¿ò¼Ü£¬Í¨¹ýµ÷¶È¿ò¼Ü¿ÉÒÔ½«ÈÎÎñ°´ÕÕÆóÒµµÄÐèÇó½øÐÐÈÎÎñµÄ¶¨ÆÚÖ´ÐУ»

·á¸»Ä¿Ç°Spring Batch Admin£¨Spring BatchµÄ¹ÜÀí¼à¿Øƽ̨£¬Ä¿Ç°ÄÜÁ¦±È½Ï±¡Èõ£©¿ò¼Ü£¬Ìṩ¶ÔJobµÄͳһ¹ÜÀí¹¦ÄÜ£¬ÔöÇ¿Job×÷ÒµµÄ¼à¿Ø¡¢Ô¤¾¯µÈÄÜÁ¦£»

ͨ¹ýÓëÆóÒµµÄ×éÖ¯»ú¹¹¡¢È¨ÏÞ¹ÜÀí¡¢ÈÏ֤ϵͳ½øÐкÏÀíµÄ¼¯³É£¬Ôöǿƽ̨¶ÔJob×÷ÒµµÄȨÏÞ¿ØÖÆ¡¢°²È«¹ÜÀíÄÜÁ¦¡£

ÓÉÓÚʱ¼ä¹Øϵ£¬½ñÌìµÄ·ÖÏí¾Íµ½ÕâÀºÜ¶àÄÚÈÝδÄÜÕ¹¿ªÌÖÂÛ¡£»¶Ó­´ó¼ÒÔÚʵ¼ÊÒµÎñÖÐʹÓÃSpring Batch¿ò¼Ü¡£

 
   
2434 ´Îä¯ÀÀ       19
Ïà¹ØÎÄÕÂ

Java΢·þÎñÐÂÉú´úÖ®Nacos
ÉîÈëÀí½âJavaÖеÄÈÝÆ÷
JavaÈÝÆ÷Ïê½â
Java´úÂëÖÊÁ¿¼ì²é¹¤¾ß¼°Ê¹Óð¸Àý
Ïà¹ØÎĵµ

JavaÐÔÄÜÓÅ»¯
Spring¿ò¼Ü
SSM¿ò¼Ü¼òµ¥¼òÉÜ
´ÓÁ㿪ʼѧjava±à³Ì¾­µä
Ïà¹Ø¿Î³Ì

¸ßÐÔÄÜJava±à³ÌÓëϵͳÐÔÄÜÓÅ»¯
JavaEE¼Ü¹¹¡¢ Éè¼Æģʽ¼°ÐÔÄܵ÷ÓÅ
Java±à³Ì»ù´¡µ½Ó¦Óÿª·¢
JAVAÐéÄâ»úÔ­ÀíÆÊÎö
×îл¼Æ»®
Èí¼þ¼Ü¹¹Éè¼Æ·½·¨¡¢°¸ÀýÓëʵ¼ù 8-23[ÌØ»Ý]
LinuxÄں˱à³Ì¼°É豸Çý¶¯ 8-15[±±¾©]
Python¡¢Êý¾Ý·ÖÎöÓë»úÆ÷ѧϰ 8-23[ÌØ»Ý]
ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ 8-22[ÏßÉÏ]
QTÓ¦Óÿª·¢ 9-5[±±¾©]
 
×îÐÂÎÄÕÂ
JavaÐéÄâ»ú¼Ü¹¹
JVM¡ª¡ªJavaÐéÄâ»ú¼Ü¹¹
JavaÈÝÆ÷Ïê½â
Java½ø½×--ÉîÈëÀí½âArrayListʵÏÖÔ­Àí
Java²¢·¢ÈÝÆ÷£¬µ×²ãÔ­ÀíÉîÈë·ÖÎö
×îпγÌ
java±à³Ì»ù´¡µ½Ó¦Óÿª·¢
JavaEE¼Ü¹¹¡¢ Éè¼Æģʽ¼°ÐÔÄܵ÷ÓÅ
¸ßÐÔÄÜJava±à³ÌÓëϵͳÐÔÄÜÓÅ»¯
SpringBoot&Cloud¡¢JavaSSM¿ò¼Ü
Spring Boot Åàѵ
³É¹¦°¸Àý
¹úÄÚÖªÃûÒøÐÐ Spring+SpringBoot+Cloud+MVC
±±¾© Java±à³Ì»ù´¡ÓëÍøÒ³¿ª·¢»ù´¡
±±¾© Struts+Spring
»ªÏÄ»ù½ð ActiveMQ Ô­Àí
ijÃñº½¹« Java»ù´¡±à³Ìµ½Ó¦Óÿª·¢