You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 lines
41 KiB
1 lines
41 KiB
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" data-diagram-type="CLASS" height="889px" preserveAspectRatio="none" style="width:1754px;height:889px;background:#FFFFFF;" version="1.1" viewBox="0 0 1754 889" width="1754px" zoomAndPan="magnify"><title>XxlJob.Core Class Diagram</title><defs/><g><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="208.8447" x="765.9512" y="22.9951">XxlJob.Core Class Diagram</text><!--class XxlRestfulServiceHandler--><g id="elem_XxlRestfulServiceHandler"><rect codeLine="3" fill="#F1F1F1" height="96.8906" id="XxlRestfulServiceHandler" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="263.6719" x="191.3" y="68.7369"/><ellipse cx="230.7011" cy="84.7369" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M233.6698,90.3775 Q233.0917,90.6744 232.4511,90.815 Q231.8104,90.9712 231.1073,90.9712 Q228.6073,90.9712 227.2792,89.3306 Q225.9667,87.6744 225.9667,84.5494 Q225.9667,81.4244 227.2792,79.7681 Q228.6073,78.1119 231.1073,78.1119 Q231.8104,78.1119 232.4511,78.2681 Q233.1073,78.4244 233.6698,78.7212 L233.6698,81.44 Q233.0448,80.8619 232.4511,80.5962 Q231.8573,80.315 231.2323,80.315 Q229.8886,80.315 229.2011,81.3931 Q228.5136,82.4556 228.5136,84.5494 Q228.5136,86.6431 229.2011,87.7212 Q229.8886,88.7837 231.2323,88.7837 Q231.8573,88.7837 232.4511,88.5181 Q233.0448,88.2369 233.6698,87.6587 L233.6698,90.3775 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="177.4473" x="250.1235" y="89.5836">XxlRestfulServiceHandler</text><line style="stroke:#181818;stroke-width:0.5;" x1="192.3" x2="453.9719" y1="100.7369" y2="100.7369"/><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="199.3" y="111.3853"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="206.0898" x="211.3" y="117.732">JobDispatcher _jobDispatcher</text><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="199.3" y="127.6822"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="155.5176" x="211.3" y="134.0289">IJobLogger _jobLogger</text><line style="stroke:#181818;stroke-width:0.5;" x1="192.3" x2="453.9719" y1="141.3306" y2="141.3306"/><ellipse cx="202.3" cy="154.9791" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="237.6719" x="211.3" y="158.3257">HandleAync(HttpContext context)</text></g><!--class IJobLogger--><g id="elem_IJobLogger"><rect codeLine="11" fill="#F1F1F1" height="129.4844" id="IJobLogger" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="360.2705" x="7" y="488.4469"/><ellipse cx="145.7764" cy="504.4469" fill="#B4A7E5" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M141.6982,500.2125 L141.6982,498.0563 L149.0889,498.0563 L149.0889,500.2125 L146.6201,500.2125 L146.6201,508.2906 L149.0889,508.2906 L149.0889,510.4469 L141.6982,510.4469 L141.6982,508.2906 L144.167,508.2906 L144.167,500.2125 L141.6982,500.2125 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="74.2178" x="166.2764" y="509.2936">IJobLogger</text><line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="366.2705" y1="520.4469" y2="520.4469"/><line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="366.2705" y1="528.4469" y2="528.4469"/><ellipse cx="18" cy="542.0953" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="252.2324" x="27" y="545.442">SetLogFile(long logTime, long logId)</text><ellipse cx="18" cy="558.3922" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="304.0557" x="27" y="561.7389">Log(string pattern, params object[] format)</text><ellipse cx="18" cy="574.6891" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="161.3486" x="27" y="578.0357">LogError(Exception ex)</text><ellipse cx="18" cy="590.9859" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="334.2705" x="27" y="594.3326">ReadLog(long logTime, long logId, int fromLine)</text><ellipse cx="18" cy="607.2828" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="111.0635" x="27" y="610.6295">LogSpecialFile()</text></g><!--class JobDispatcher--><g id="elem_JobDispatcher"><rect codeLine="20" fill="#F1F1F1" height="145.7813" id="JobDispatcher" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="453.8203" x="544.23" y="44.2969"/><ellipse cx="718.1704" cy="60.2969" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M721.1392,65.9375 Q720.5611,66.2344 719.9204,66.375 Q719.2798,66.5313 718.5767,66.5313 Q716.0767,66.5313 714.7486,64.8906 Q713.4361,63.2344 713.4361,60.1094 Q713.4361,56.9844 714.7486,55.3281 Q716.0767,53.6719 718.5767,53.6719 Q719.2798,53.6719 719.9204,53.8281 Q720.5767,53.9844 721.1392,54.2813 L721.1392,57 Q720.5142,56.4219 719.9204,56.1563 Q719.3267,55.875 718.7017,55.875 Q717.3579,55.875 716.6704,56.9531 Q715.9829,58.0156 715.9829,60.1094 Q715.9829,62.2031 716.6704,63.2813 Q717.3579,64.3438 718.7017,64.3438 Q719.3267,64.3438 719.9204,64.0781 Q720.5142,63.7969 721.1392,63.2188 L721.1392,65.9375 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="97.4395" x="738.6704" y="65.1436">JobDispatcher</text><line style="stroke:#181818;stroke-width:0.5;" x1="545.23" x2="997.0503" y1="76.2969" y2="76.2969"/><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="552.23" y="86.9453"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="272.8496" x="564.23" y="93.292">TaskExecutorFactory _executorFactory</text><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="552.23" y="103.2422"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="252.6973" x="564.23" y="109.5889">CallbackQueue _callbackTaskQueue</text><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="552.23" y="119.5391"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="427.8203" x="564.23" y="125.8857">ConcurrentDictionary<int, JobTaskQueue> RUNNING_QUEUE</text><line style="stroke:#181818;stroke-width:0.5;" x1="545.23" x2="997.0503" y1="133.1875" y2="133.1875"/><ellipse cx="555.23" cy="146.8359" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="202.1318" x="564.23" y="150.1826">TryRemoveJobTask(int jobId)</text><ellipse cx="555.23" cy="163.1328" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="259.3965" x="564.23" y="166.4795">Execute(TriggerParam triggerParam)</text><ellipse cx="555.23" cy="179.4297" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="125.7881" x="564.23" y="182.7764">IdleBeat(int jobId)</text></g><!--class TaskExecutorFactory--><g id="elem_TaskExecutorFactory"><rect codeLine="30" fill="#F1F1F1" height="80.5938" id="TaskExecutorFactory" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="322.0508" x="1102.11" y="298.9669"/><ellipse cx="1185.3444" cy="314.9669" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M1188.3131,320.6075 Q1187.735,320.9044 1187.0944,321.045 Q1186.4538,321.2012 1185.7506,321.2012 Q1183.2506,321.2012 1181.9225,319.5606 Q1180.61,317.9044 1180.61,314.7794 Q1180.61,311.6544 1181.9225,309.9981 Q1183.2506,308.3419 1185.7506,308.3419 Q1186.4538,308.3419 1187.0944,308.4981 Q1187.7506,308.6544 1188.3131,308.9512 L1188.3131,311.67 Q1187.6881,311.0919 1187.0944,310.8262 Q1186.5006,310.545 1185.8756,310.545 Q1184.5319,310.545 1183.8444,311.6231 Q1183.1569,312.6856 1183.1569,314.7794 Q1183.1569,316.8731 1183.8444,317.9512 Q1184.5319,319.0137 1185.8756,319.0137 Q1186.5006,319.0137 1187.0944,318.7481 Q1187.6881,318.4669 1188.3131,317.8887 L1188.3131,320.6075 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="147.082" x="1205.8444" y="319.8136">TaskExecutorFactory</text><line style="stroke:#181818;stroke-width:0.5;" x1="1103.11" x2="1423.1608" y1="330.9669" y2="330.9669"/><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="1110.11" y="341.6153"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="296.0508" x="1122.11" y="347.962">Dictionary<string, ITaskExecutor> _cache</text><line style="stroke:#181818;stroke-width:0.5;" x1="1103.11" x2="1423.1608" y1="355.2637" y2="355.2637"/><ellipse cx="1113.11" cy="368.9122" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="239.7705" x="1122.11" y="372.2589">GetTaskExecutor(string glueType)</text></g><!--class CallbackQueue--><g id="elem_CallbackQueue"><rect codeLine="35" fill="#F1F1F1" height="145.7813" id="CallbackQueue" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="407.4043" x="257.43" y="266.3769"/><ellipse cx="404.1839" cy="282.3769" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M407.1527,288.0175 Q406.5745,288.3144 405.9339,288.455 Q405.2933,288.6112 404.5902,288.6112 Q402.0902,288.6112 400.762,286.9706 Q399.4495,285.3144 399.4495,282.1894 Q399.4495,279.0644 400.762,277.4081 Q402.0902,275.7519 404.5902,275.7519 Q405.2933,275.7519 405.9339,275.9081 Q406.5902,276.0644 407.1527,276.3612 L407.1527,279.08 Q406.5277,278.5019 405.9339,278.2362 Q405.3402,277.955 404.7152,277.955 Q403.3714,277.955 402.6839,279.0331 Q401.9964,280.0956 401.9964,282.1894 Q401.9964,284.2831 402.6839,285.3612 Q403.3714,286.4237 404.7152,286.4237 Q405.3402,286.4237 405.9339,286.1581 Q406.5277,285.8769 407.1527,285.2987 L407.1527,288.0175 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="105.3965" x="424.6839" y="287.2236">CallbackQueue</text><line style="stroke:#181818;stroke-width:0.5;" x1="258.43" x2="663.8343" y1="298.3769" y2="298.3769"/><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="265.43" y="309.0253"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="181.2412" x="277.43" y="315.372">AdminClient _adminClient</text><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="265.43" y="325.3222"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="155.5176" x="277.43" y="331.6689">IJobLogger _jobLogger</text><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="265.43" y="341.6191"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="267.1416" x="277.43" y="347.9657">RetryCallbackTaskQueue _retryQueue</text><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="265.43" y="357.9159"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="381.4043" x="277.43" y="364.2626">ConcurrentQueue<HandleCallbackParam> taskQueue</text><line style="stroke:#181818;stroke-width:0.5;" x1="258.43" x2="663.8343" y1="371.5644" y2="371.5644"/><ellipse cx="268.43" cy="385.2128" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="304.9443" x="277.43" y="388.5595">Push(HandleCallbackParam callbackParam)</text><ellipse cx="268.43" cy="401.5097" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="66.2471" x="277.43" y="404.8564">Dispose()</text></g><!--class RetryCallbackTaskQueue--><g id="elem_RetryCallbackTaskQueue"><rect codeLine="45" fill="#F1F1F1" height="48" id="RetryCallbackTaskQueue" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="207.7998" x="776.24" y="529.1969"/><ellipse cx="791.24" cy="545.1969" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M794.2088,550.8375 Q793.6306,551.1344 792.99,551.275 Q792.3494,551.4313 791.6463,551.4313 Q789.1463,551.4313 787.8181,549.7906 Q786.5056,548.1344 786.5056,545.0094 Q786.5056,541.8844 787.8181,540.2281 Q789.1463,538.5719 791.6463,538.5719 Q792.3494,538.5719 792.99,538.7281 Q793.6463,538.8844 794.2088,539.1813 L794.2088,541.9 Q793.5838,541.3219 792.99,541.0563 Q792.3963,540.775 791.7713,540.775 Q790.4275,540.775 789.74,541.8531 Q789.0525,542.9156 789.0525,545.0094 Q789.0525,547.1031 789.74,548.1813 Q790.4275,549.2438 791.7713,549.2438 Q792.3963,549.2438 792.99,548.9781 Q793.5838,548.6969 794.2088,548.1188 L794.2088,550.8375 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="175.7998" x="805.24" y="550.0436">RetryCallbackTaskQueue</text><line style="stroke:#181818;stroke-width:0.5;" x1="777.24" x2="983.0398" y1="561.1969" y2="561.1969"/><line style="stroke:#181818;stroke-width:0.5;" x1="777.24" x2="983.0398" y1="569.1969" y2="569.1969"/></g><!--class AdminClient--><g id="elem_AdminClient"><rect codeLine="47" fill="#F1F1F1" height="48" id="AdminClient" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="117.3945" x="402.44" y="529.1969"/><ellipse cx="417.44" cy="545.1969" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M420.4088,550.8375 Q419.8306,551.1344 419.19,551.275 Q418.5494,551.4313 417.8463,551.4313 Q415.3463,551.4313 414.0181,549.7906 Q412.7056,548.1344 412.7056,545.0094 Q412.7056,541.8844 414.0181,540.2281 Q415.3463,538.5719 417.8463,538.5719 Q418.5494,538.5719 419.19,538.7281 Q419.8463,538.8844 420.4088,539.1813 L420.4088,541.9 Q419.7838,541.3219 419.19,541.0563 Q418.5963,540.775 417.9713,540.775 Q416.6275,540.775 415.94,541.8531 Q415.2525,542.9156 415.2525,545.0094 Q415.2525,547.1031 415.94,548.1813 Q416.6275,549.2438 417.9713,549.2438 Q418.5963,549.2438 419.19,548.9781 Q419.7838,548.6969 420.4088,548.1188 L420.4088,550.8375 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="85.3945" x="431.44" y="550.0436">AdminClient</text><line style="stroke:#181818;stroke-width:0.5;" x1="403.44" x2="518.8345" y1="561.1969" y2="561.1969"/><line style="stroke:#181818;stroke-width:0.5;" x1="403.44" x2="518.8345" y1="569.1969" y2="569.1969"/></g><!--class JobTaskQueue--><g id="elem_JobTaskQueue"><rect codeLine="51" fill="#F1F1F1" height="178.375" id="JobTaskQueue" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="367.0928" x="699.59" y="250.0769"/><ellipse cx="828.8337" cy="266.0769" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M831.8024,271.7175 Q831.2243,272.0144 830.5837,272.155 Q829.943,272.3113 829.2399,272.3113 Q826.7399,272.3113 825.4118,270.6706 Q824.0993,269.0144 824.0993,265.8894 Q824.0993,262.7644 825.4118,261.1081 Q826.7399,259.4519 829.2399,259.4519 Q829.943,259.4519 830.5837,259.6081 Q831.2399,259.7644 831.8024,260.0613 L831.8024,262.78 Q831.1774,262.2019 830.5837,261.9363 Q829.9899,261.655 829.3649,261.655 Q828.0212,261.655 827.3337,262.7331 Q826.6462,263.7956 826.6462,265.8894 Q826.6462,267.9831 827.3337,269.0613 Q828.0212,270.1238 829.3649,270.1238 Q829.9899,270.1238 830.5837,269.8581 Q831.1774,269.5769 831.8024,268.9988 L831.8024,271.7175 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="100.1055" x="849.3337" y="270.9236">JobTaskQueue</text><line style="stroke:#181818;stroke-width:0.5;" x1="700.59" x2="1065.6828" y1="282.0769" y2="282.0769"/><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="707.59" y="292.7253"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="339.9102" x="719.59" y="299.072">ConcurrentQueue<TriggerParam> TASK_QUEUE</text><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="707.59" y="309.0222"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="341.0928" x="719.59" y="315.3689">ConcurrentDictionary<long, byte> ID_IN_QUEUE</text><ellipse cx="710.59" cy="328.3191" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="337.0322" x="719.59" y="331.6657">EventHandler<HandleCallbackParam> CallBack</text><line style="stroke:#181818;stroke-width:0.5;" x1="700.59" x2="1065.6828" y1="338.9675" y2="338.9675"/><ellipse cx="710.59" cy="352.6159" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="80.3428" x="719.59" y="355.9626">IsRunning()</text><ellipse cx="710.59" cy="368.9128" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="258.9863" x="719.59" y="372.2595">Replace(TriggerParam triggerParam)</text><ellipse cx="710.59" cy="385.2097" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="236.4619" x="719.59" y="388.5564">Push(TriggerParam triggerParam)</text><ellipse cx="710.59" cy="401.5066" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="42.752" x="719.59" y="404.8532">Stop()</text><ellipse cx="710.59" cy="417.8034" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="66.2471" x="719.59" y="421.1501">Dispose()</text></g><!--class ITaskExecutor--><g id="elem_ITaskExecutor"><rect codeLine="63" fill="#F1F1F1" height="64.2969" id="ITaskExecutor" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="285.3965" x="1120.44" y="521.0469"/><ellipse cx="1209.4952" cy="537.0469" fill="#B4A7E5" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M1205.4171,532.8125 L1205.4171,530.6563 L1212.8077,530.6563 L1212.8077,532.8125 L1210.3389,532.8125 L1210.3389,540.8906 L1212.8077,540.8906 L1212.8077,543.0469 L1205.4171,543.0469 L1205.4171,540.8906 L1207.8858,540.8906 L1207.8858,532.8125 L1205.4171,532.8125 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="98.7861" x="1229.9952" y="541.8936">ITaskExecutor</text><line style="stroke:#181818;stroke-width:0.5;" x1="1121.44" x2="1404.8365" y1="553.0469" y2="553.0469"/><line style="stroke:#181818;stroke-width:0.5;" x1="1121.44" x2="1404.8365" y1="561.0469" y2="561.0469"/><ellipse cx="1131.44" cy="574.6953" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="259.3965" x="1140.44" y="578.042">Execute(TriggerParam triggerParam)</text></g><!--class BeanTaskExecutor--><g id="elem_BeanTaskExecutor"><rect codeLine="67" fill="#F1F1F1" height="80.5938" id="BeanTaskExecutor" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="276.6055" x="1124.83" y="677.9369"/><ellipse cx="1193.7192" cy="693.9369" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M1196.6879,699.5775 Q1196.1098,699.8744 1195.4692,700.015 Q1194.8285,700.1713 1194.1254,700.1713 Q1191.6254,700.1713 1190.2973,698.5306 Q1188.9848,696.8744 1188.9848,693.7494 Q1188.9848,690.6244 1190.2973,688.9681 Q1191.6254,687.3119 1194.1254,687.3119 Q1194.8285,687.3119 1195.4692,687.4681 Q1196.1254,687.6244 1196.6879,687.9213 L1196.6879,690.64 Q1196.0629,690.0619 1195.4692,689.7963 Q1194.8754,689.515 1194.2504,689.515 Q1192.9067,689.515 1192.2192,690.5931 Q1191.5317,691.6556 1191.5317,693.7494 Q1191.5317,695.8431 1192.2192,696.9213 Q1192.9067,697.9838 1194.2504,697.9838 Q1194.8754,697.9838 1195.4692,697.7181 Q1196.0629,697.4369 1196.6879,696.8588 L1196.6879,699.5775 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="130.3271" x="1214.2192" y="698.7836">BeanTaskExecutor</text><line style="stroke:#181818;stroke-width:0.5;" x1="1125.83" x2="1400.4355" y1="709.9369" y2="709.9369"/><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="1132.83" y="720.5853"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="250.6055" x="1144.83" y="726.932">IJobHandlerFactory _handlerFactory</text><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="1132.83" y="736.8822"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="155.5176" x="1144.83" y="743.2289">IJobLogger _jobLogger</text><line style="stroke:#181818;stroke-width:0.5;" x1="1125.83" x2="1400.4355" y1="750.5306" y2="750.5306"/></g><!--class TriggerParam--><g id="elem_TriggerParam"><rect codeLine="72" fill="#F1F1F1" height="48" id="TriggerParam" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="127.334" x="1060.47" y="93.1869"/><ellipse cx="1075.47" cy="109.1869" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M1078.4388,114.8275 Q1077.8606,115.1244 1077.22,115.265 Q1076.5794,115.4212 1075.8763,115.4212 Q1073.3763,115.4212 1072.0481,113.7806 Q1070.7356,112.1244 1070.7356,108.9994 Q1070.7356,105.8744 1072.0481,104.2181 Q1073.3763,102.5619 1075.8763,102.5619 Q1076.5794,102.5619 1077.22,102.7181 Q1077.8763,102.8744 1078.4388,103.1712 L1078.4388,105.89 Q1077.8138,105.3119 1077.22,105.0462 Q1076.6263,104.765 1076.0013,104.765 Q1074.6575,104.765 1073.97,105.8431 Q1073.2825,106.9056 1073.2825,108.9994 Q1073.2825,111.0931 1073.97,112.1712 Q1074.6575,113.2337 1076.0013,113.2337 Q1076.6263,113.2337 1077.22,112.9681 Q1077.8138,112.6869 1078.4388,112.1087 L1078.4388,114.8275 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="95.334" x="1089.47" y="114.0336">TriggerParam</text><line style="stroke:#181818;stroke-width:0.5;" x1="1061.47" x2="1186.804" y1="125.1869" y2="125.1869"/><line style="stroke:#181818;stroke-width:0.5;" x1="1061.47" x2="1186.804" y1="133.1869" y2="133.1869"/></g><!--class HandleCallbackParam--><g id="elem_HandleCallbackParam"><rect codeLine="74" fill="#F1F1F1" height="48" id="HandleCallbackParam" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="185.7676" x="555.25" y="529.1969"/><ellipse cx="570.25" cy="545.1969" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M573.2188,550.8375 Q572.6406,551.1344 572,551.275 Q571.3594,551.4313 570.6563,551.4313 Q568.1563,551.4313 566.8281,549.7906 Q565.5156,548.1344 565.5156,545.0094 Q565.5156,541.8844 566.8281,540.2281 Q568.1563,538.5719 570.6563,538.5719 Q571.3594,538.5719 572,538.7281 Q572.6563,538.8844 573.2188,539.1813 L573.2188,541.9 Q572.5938,541.3219 572,541.0563 Q571.4063,540.775 570.7813,540.775 Q569.4375,540.775 568.75,541.8531 Q568.0625,542.9156 568.0625,545.0094 Q568.0625,547.1031 568.75,548.1813 Q569.4375,549.2438 570.7813,549.2438 Q571.4063,549.2438 572,548.9781 Q572.5938,548.6969 573.2188,548.1188 L573.2188,550.8375 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="153.7676" x="584.25" y="550.0436">HandleCallbackParam</text><line style="stroke:#181818;stroke-width:0.5;" x1="556.25" x2="740.0176" y1="561.1969" y2="561.1969"/><line style="stroke:#181818;stroke-width:0.5;" x1="556.25" x2="740.0176" y1="569.1969" y2="569.1969"/></g><!--class IJobHandlerFactory--><g id="elem_IJobHandlerFactory"><rect codeLine="76" fill="#F1F1F1" height="48" id="IJobHandlerFactory" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="165.2598" x="1180.51" y="826.6769"/><ellipse cx="1195.51" cy="842.6769" fill="#B4A7E5" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M1191.4319,838.4425 L1191.4319,836.2863 L1198.8225,836.2863 L1198.8225,838.4425 L1196.3538,838.4425 L1196.3538,846.5206 L1198.8225,846.5206 L1198.8225,848.6769 L1191.4319,848.6769 L1191.4319,846.5206 L1193.9006,846.5206 L1193.9006,838.4425 L1191.4319,838.4425 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="133.2598" x="1209.51" y="847.5236">IJobHandlerFactory</text><line style="stroke:#181818;stroke-width:0.5;" x1="1181.51" x2="1344.7698" y1="858.6769" y2="858.6769"/><line style="stroke:#181818;stroke-width:0.5;" x1="1181.51" x2="1344.7698" y1="866.6769" y2="866.6769"/></g><!--class JobHandlerFactory--><g id="elem_JobHandlerFactory"><rect codeLine="78" fill="#F1F1F1" height="64.2969" id="JobHandlerFactory" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="277.9932" x="867.14" y="818.5269"/><ellipse cx="937.3212" cy="834.5269" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M940.2899,840.1675 Q939.7118,840.4644 939.0712,840.605 Q938.4305,840.7613 937.7274,840.7613 Q935.2274,840.7613 933.8993,839.1206 Q932.5868,837.4644 932.5868,834.3394 Q932.5868,831.2144 933.8993,829.5581 Q935.2274,827.9019 937.7274,827.9019 Q938.4305,827.9019 939.0712,828.0581 Q939.7274,828.2144 940.2899,828.5113 L940.2899,831.23 Q939.6649,830.6519 939.0712,830.3863 Q938.4774,830.105 937.8524,830.105 Q936.5087,830.105 935.8212,831.1831 Q935.1337,832.2456 935.1337,834.3394 Q935.1337,836.4331 935.8212,837.5113 Q936.5087,838.5738 937.8524,838.5738 Q938.4774,838.5738 939.0712,838.3081 Q939.6649,838.0269 940.2899,837.4488 L940.2899,840.1675 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="129.1309" x="957.8212" y="839.3736">JobHandlerFactory</text><line style="stroke:#181818;stroke-width:0.5;" x1="868.14" x2="1144.1332" y1="850.5269" y2="850.5269"/><line style="stroke:#181818;stroke-width:0.5;" x1="868.14" x2="1144.1332" y1="858.5269" y2="858.5269"/><ellipse cx="878.14" cy="872.1753" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="251.9932" x="887.14" y="875.522">GetJobHandler(string handlerName)</text></g><!--class IJobHandler--><g id="elem_IJobHandler"><rect codeLine="83" fill="#F1F1F1" height="64.2969" id="IJobHandler" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="283.8926" x="548.19" y="818.5269"/><ellipse cx="645.4688" cy="834.5269" fill="#B4A7E5" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M641.3907,830.2925 L641.3907,828.1363 L648.7813,828.1363 L648.7813,830.2925 L646.3126,830.2925 L646.3126,838.3706 L648.7813,838.3706 L648.7813,840.5269 L641.3907,840.5269 L641.3907,838.3706 L643.8594,838.3706 L643.8594,830.2925 L641.3907,830.2925 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="80.835" x="665.9688" y="839.3736">IJobHandler</text><line style="stroke:#181818;stroke-width:0.5;" x1="549.19" x2="831.0826" y1="850.5269" y2="850.5269"/><line style="stroke:#181818;stroke-width:0.5;" x1="549.19" x2="831.0826" y1="858.5269" y2="858.5269"/><ellipse cx="559.19" cy="872.1753" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="257.8926" x="568.19" y="875.522">Execute(JobExecuteContext context)</text></g><!--class AbstractJobHandler--><g id="elem_AbstractJobHandler"><rect codeLine="87" fill="#F1F1F1" height="48" id="AbstractJobHandler" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="167.4746" x="345.4" y="826.6769"/><ellipse cx="360.4" cy="842.6769" fill="#A9DCDF" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M360.5094,838.0206 L359.3531,843.0988 L361.6813,843.0988 L360.5094,838.0206 Z M359.025,835.7863 L362.0094,835.7863 L365.3688,848.1769 L362.9156,848.1769 L362.15,845.1144 L358.8688,845.1144 L358.1188,848.1769 L355.6813,848.1769 L359.025,835.7863 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="135.4746" x="374.4" y="847.5236">AbstractJobHandler</text><line style="stroke:#181818;stroke-width:0.5;" x1="346.4" x2="511.8746" y1="858.6769" y2="858.6769"/><line style="stroke:#181818;stroke-width:0.5;" x1="346.4" x2="511.8746" y1="866.6769" y2="866.6769"/></g><!--class JobExecuteContext--><g id="elem_JobExecuteContext"><rect codeLine="90" fill="#F1F1F1" height="96.8906" id="JobExecuteContext" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="287.2217" x="1235.52" y="68.7369"/><ellipse cx="1308.3364" cy="84.7369" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M1311.3052,90.3775 Q1310.727,90.6744 1310.0864,90.815 Q1309.4458,90.9712 1308.7427,90.9712 Q1306.2427,90.9712 1304.9145,89.3306 Q1303.602,87.6744 1303.602,84.5494 Q1303.602,81.4244 1304.9145,79.7681 Q1306.2427,78.1119 1308.7427,78.1119 Q1309.4458,78.1119 1310.0864,78.2681 Q1310.7427,78.4244 1311.3052,78.7212 L1311.3052,81.44 Q1310.6802,80.8619 1310.0864,80.5962 Q1309.4927,80.315 1308.8677,80.315 Q1307.5239,80.315 1306.8364,81.3931 Q1306.1489,82.4556 1306.1489,84.5494 Q1306.1489,86.6431 1306.8364,87.7212 Q1307.5239,88.7837 1308.8677,88.7837 Q1309.4927,88.7837 1310.0864,88.5181 Q1310.6802,88.2369 1311.3052,87.6587 L1311.3052,90.3775 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="133.0889" x="1328.8364" y="89.5836">JobExecuteContext</text><line style="stroke:#181818;stroke-width:0.5;" x1="1236.52" x2="1521.7417" y1="100.7369" y2="100.7369"/><ellipse cx="1246.52" cy="114.3853" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="139.6855" x="1255.52" y="117.732">string JobParameter</text><ellipse cx="1246.52" cy="130.6822" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="148.7568" x="1255.52" y="134.0289">IJobLogger JobLogger</text><ellipse cx="1246.52" cy="146.9791" fill="none" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="261.2217" x="1255.52" y="150.3257">CancellationToken cancellationToken</text><line style="stroke:#181818;stroke-width:0.5;" x1="1236.52" x2="1521.7417" y1="157.6275" y2="157.6275"/></g><!--class JobHandlerAttribute--><g id="elem_JobHandlerAttribute"><rect codeLine="96" fill="#F1F1F1" height="48" id="JobHandlerAttribute" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="170.7695" x="1570.75" y="315.2669"/><ellipse cx="1585.75" cy="331.2669" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M1588.7188,336.9075 Q1588.1406,337.2044 1587.5,337.345 Q1586.8594,337.5013 1586.1563,337.5013 Q1583.6563,337.5013 1582.3281,335.8606 Q1581.0156,334.2044 1581.0156,331.0794 Q1581.0156,327.9544 1582.3281,326.2981 Q1583.6563,324.6419 1586.1563,324.6419 Q1586.8594,324.6419 1587.5,324.7981 Q1588.1563,324.9544 1588.7188,325.2513 L1588.7188,327.97 Q1588.0938,327.3919 1587.5,327.1263 Q1586.9063,326.845 1586.2813,326.845 Q1584.9375,326.845 1584.25,327.9231 Q1583.5625,328.9856 1583.5625,331.0794 Q1583.5625,333.1731 1584.25,334.2513 Q1584.9375,335.3138 1586.2813,335.3138 Q1586.9063,335.3138 1587.5,335.0481 Q1588.0938,334.7669 1588.7188,334.1888 L1588.7188,336.9075 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="138.7695" x="1599.75" y="336.1136">JobHandlerAttribute</text><line style="stroke:#181818;stroke-width:0.5;" x1="1571.75" x2="1740.5195" y1="347.2669" y2="347.2669"/><line style="stroke:#181818;stroke-width:0.5;" x1="1571.75" x2="1740.5195" y1="355.2669" y2="355.2669"/></g><g id="elem_N1"><path d="M1564.52,104.6169 L1564.52,129.7497 A0,0 0 0 0 1564.52,129.7497 L1652.14,129.7497 L1656.14,315.0769 L1660.14,129.7497 L1747.7472,129.7497 A0,0 0 0 0 1747.7472,129.7497 L1747.7472,114.6169 L1737.7472,104.6169 L1564.52,104.6169 A0,0 0 0 0 1564.52,104.6169 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><path d="M1737.7472,104.6169 L1737.7472,114.6169 L1747.7472,114.6169 L1737.7472,104.6169 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="162.2272" x="1570.52" y="121.6838">用于标记JobHandler的名字</text></g><!--link XxlRestfulServiceHandler to JobDispatcher--><g id="link_XxlRestfulServiceHandler_JobDispatcher"><path codeLine="100" d="M455.26,117.1869 C484.77,117.1869 508.28,117.1869 537.79,117.1869 " fill="none" id="XxlRestfulServiceHandler-to-JobDispatcher" style="stroke:#181818;stroke-width:1;"/><polygon fill="#181818" points="543.79,117.1869,534.79,113.1869,538.79,117.1869,534.79,121.1869,543.79,117.1869" style="stroke:#181818;stroke-width:1;"/></g><!--link XxlRestfulServiceHandler to IJobLogger--><g id="link_XxlRestfulServiceHandler_IJobLogger"><path codeLine="101" d="M286.79,165.8769 C270.14,189.9369 251.61,220.2869 240.14,250.0769 C209.84,328.7169 197.2835,419.6006 191.7035,482.1106 " fill="none" id="XxlRestfulServiceHandler-to-IJobLogger" style="stroke:#181818;stroke-width:1;"/><polygon fill="#181818" points="191.17,488.0869,195.9544,479.4782,191.6146,483.1067,187.9861,478.7669,191.17,488.0869" style="stroke:#181818;stroke-width:1;"/></g><!--link JobDispatcher to TaskExecutorFactory--><g id="link_JobDispatcher_TaskExecutorFactory"><path codeLine="103" d="M947.82,190.4869 C992.52,209.3769 1040.28,230.0569 1084.14,250.0769 C1117.54,265.3269 1148.6,280.3905 1179.82,295.9505 " fill="none" id="JobDispatcher-to-TaskExecutorFactory" style="stroke:#181818;stroke-width:1;"/><polygon fill="#181818" points="1185.19,298.6269,1178.9193,291.0323,1180.715,296.3965,1175.3507,298.1923,1185.19,298.6269" style="stroke:#181818;stroke-width:1;"/></g><!--link JobDispatcher to CallbackQueue--><g id="link_JobDispatcher_CallbackQueue"><path codeLine="104" d="M669.2,190.5569 C635.05,214.7969 601.8918,238.3326 567.7618,262.5726 " fill="none" id="JobDispatcher-to-CallbackQueue" style="stroke:#181818;stroke-width:1;"/><polygon fill="#181818" points="562.87,266.0469,572.5238,264.0967,566.9465,263.1517,567.8915,257.5743,562.87,266.0469" style="stroke:#181818;stroke-width:1;"/></g><!--link JobDispatcher to JobTaskQueue--><g id="link_JobDispatcher_JobTaskQueue"><path codeLine="105" d="M807.96,190.5569 C817.59,209.4669 825.3587,224.7295 835.3587,244.3795 " fill="none" id="JobDispatcher-to-JobTaskQueue" style="stroke:#181818;stroke-width:1;"/><polygon fill="#181818" points="838.08,249.7269,837.563,239.8916,835.8122,245.2707,830.4331,243.52,838.08,249.7269" style="stroke:#181818;stroke-width:1;"/></g><!--reverse link TaskExecutorFactory to ITaskExecutor--><g id="link_TaskExecutorFactory_ITaskExecutor"><path codeLine="107" d="M1263.14,391.6269 C1263.14,432.3269 1263.14,483.0769 1263.14,520.6369 " fill="none" id="TaskExecutorFactory-backto-ITaskExecutor" style="stroke:#181818;stroke-width:1;"/><polygon fill="#181818" points="1263.14,379.6269,1259.14,385.6269,1263.14,391.6269,1267.14,385.6269,1263.14,379.6269" style="stroke:#181818;stroke-width:1;"/></g><!--reverse link ITaskExecutor to BeanTaskExecutor--><g id="link_ITaskExecutor_BeanTaskExecutor"><path codeLine="108" d="M1263.14,603.6269 C1263.14,629.8169 1263.14,649.2569 1263.14,677.5169 " fill="none" id="ITaskExecutor-backto-BeanTaskExecutor" style="stroke:#181818;stroke-width:1;"/><polygon fill="none" points="1263.14,585.6269,1257.14,603.6269,1269.14,603.6269,1263.14,585.6269" style="stroke:#181818;stroke-width:1;"/></g><!--link CallbackQueue to IJobLogger--><g id="link_CallbackQueue_IJobLogger"><path codeLine="110" d="M367.61,412.6069 C335.98,437.0669 305.6561,460.5262 274.8961,484.3162 " fill="none" id="CallbackQueue-to-IJobLogger" style="stroke:#181818;stroke-width:1;"/><polygon fill="#181818" points="270.15,487.9869,279.7164,485.6449,274.1051,484.928,274.8221,479.3167,270.15,487.9869" style="stroke:#181818;stroke-width:1;"/></g><!--link CallbackQueue to RetryCallbackTaskQueue--><g id="link_CallbackQueue_RetryCallbackTaskQueue"><path codeLine="111" d="M607.56,412.6469 C655.63,436.5869 709.25,463.4869 758.14,488.4469 C783.99,501.6569 807.4787,513.8957 830.5987,526.0457 " fill="none" id="CallbackQueue-to-RetryCallbackTaskQueue" style="stroke:#181818;stroke-width:1;"/><polygon fill="#181818" points="835.91,528.8369,829.8039,521.1093,831.484,526.5109,826.0823,528.191,835.91,528.8369" style="stroke:#181818;stroke-width:1;"/></g><!--link CallbackQueue to AdminClient--><g id="link_CallbackQueue_AdminClient"><path codeLine="112" d="M461.14,412.6069 C461.14,453.1369 461.14,494.9869 461.14,522.8269 " fill="none" id="CallbackQueue-to-AdminClient" style="stroke:#181818;stroke-width:1;"/><polygon fill="#181818" points="461.14,528.8269,465.14,519.8269,461.14,523.8269,457.14,519.8269,461.14,528.8269" style="stroke:#181818;stroke-width:1;"/></g><!--link CallbackQueue to HandleCallbackParam--><g id="link_CallbackQueue_HandleCallbackParam"><path codeLine="113" d="M524.97,412.6069 C560.73,453.1369 598.9798,496.4883 623.5498,524.3283 " fill="none" id="CallbackQueue-to-HandleCallbackParam" style="stroke:#181818;stroke-width:1;"/><polygon fill="#181818" points="627.52,528.8269,624.5638,519.4322,624.2115,525.078,618.5656,524.7258,627.52,528.8269" style="stroke:#181818;stroke-width:1;"/></g><!--link BeanTaskExecutor to IJobHandlerFactory--><g id="link_BeanTaskExecutor_IJobHandlerFactory"><path codeLine="115" d="M1263.14,758.7269 C1263.14,780.7669 1263.14,801.4869 1263.14,820.2469 " fill="none" id="BeanTaskExecutor-to-IJobHandlerFactory" style="stroke:#181818;stroke-width:1;"/><polygon fill="#181818" points="1263.14,826.2469,1267.14,817.2469,1263.14,821.2469,1259.14,817.2469,1263.14,826.2469" style="stroke:#181818;stroke-width:1;"/></g><!--link JobHandlerFactory to IJobHandlerFactory--><g id="link_JobHandlerFactory_IJobHandlerFactory"><path codeLine="116" d="M1145.43,850.6769 C1157.08,850.6769 1150.72,850.6769 1162.37,850.6769 " fill="none" id="JobHandlerFactory-to-IJobHandlerFactory" style="stroke:#181818;stroke-width:1;"/><polygon fill="none" points="1180.37,850.6769,1162.37,844.6769,1162.37,856.6769,1180.37,850.6769" style="stroke:#181818;stroke-width:1;"/></g><!--link IJobHandler to JobHandlerFactory--><g id="link_IJobHandler_JobHandlerFactory"><path codeLine="117" d="M832.4,850.6769 C843.82,850.6769 843.25,850.6769 854.67,850.6769 " fill="none" id="IJobHandler-to-JobHandlerFactory" style="stroke:#181818;stroke-width:1;"/><polygon fill="#181818" points="866.67,850.6769,860.67,846.6769,854.67,850.6769,860.67,854.6769,866.67,850.6769" style="stroke:#181818;stroke-width:1;"/></g><!--link AbstractJobHandler to IJobHandler--><g id="link_AbstractJobHandler_IJobHandler"><path codeLine="119" d="M513.25,850.6769 C524.76,850.6769 518.28,850.6769 529.8,850.6769 " fill="none" id="AbstractJobHandler-to-IJobHandler" style="stroke:#181818;stroke-width:1;"/><polygon fill="none" points="547.8,850.6769,529.8,844.6769,529.8,856.6769,547.8,850.6769" style="stroke:#181818;stroke-width:1;"/></g><!--SRC=[ZLN1RXen4BtxAwoUDYaRAVS8YG19I2EK094gLHKoPe1Dp1fvlH68v5QffrOzLAhKKu-zjEgvtzCq_OpExdfPBvWa798T-tayy-RDM0TQ07qz5wToi5UN2cXTi2YYZO2D5PiImbCJ0Hs8z2WMNL0t0OSJ5Wu5ABea57y-nUED89enpIUush-oJGDf8UPCZiTcF_jCzrxIp5rj4NBlHEjPNOOQvfhoxFyEkIFu2z1G8yR1ThKq7hgWSUKe4E096OwfaEDUC8KApQtMSCT04UT5MWMuZX6Ypx227vXjHENW2hX-yvQEf9eoRPreAYMLrvnpcEb0XXJc-MO7s31nkUtQ2iN0wKZ9wLaGWkMoEmCUC976dAMOaLtcCcUunwBhvXnuhAKwOXp_BcWVoWi6McT231Y_leWX1jhdnamyf4ivJ8OyLWf2tGXuaXHJYmECjP94i09NQUUotMwrZ_iNbytB9Z7nzzIY0rDv0mRh9KbYMGkQis31wwaWgTHvmZ3Lbf43MrZwGs3QTd6Na-5AEwV42ZkhPuMsR7mroHr9DFSSWxPtSmsCHGoznGoiIyi4vjVLXjCWh8i02QDzLXXFwjj7ZMYrgA_NWVPLikwkIRfwa3L6VZAbhKhrgf0ci_CucdWEAEMsbVETY4j6HdDPmblYMwu0TkxBibOj-9OaR0LKQQ_MVMMqz8WEa_wfqC52em1RZNwhRHr1RTqWsimWDqU9UOXcJb4hwiHXYFNsYhwT2HmcJ-ipPVT9L5VBcUUas9fRjlvMe-iPZRAg0_P9w72IgSyGifeEavBzg4oBVhE3AEhl4jVoRdqchmLG77Vi5KrPREOjQG9lisdMbUvhDWZ4BVFfUa3O0BtZxTGesfYslvAkrrpbbvaG4P2o07hrY5dCdgwzRtKMSX229UhkoMi8iJFNLeY3h9h6omOOH1fQAF63ldZu_FtFxuz_lxt_z_DN0Ntu-kx-quVx7rzUK1RHzZuXMzzi7qiyqNwr_D0yWaTeaHiXvVSfsNKCQGUgD5KT-_Oi8SGr-7Tzlzn3PACV_7ZctrRNKAGyqDSIsjnqZqC7q1gBZbr7qn17n2QQSeEGpPOnTRjz9dpN5p3IfSb0Y4FrJhU4jFVftfvBY_y1]--></g></svg> |