(相關(guān)資料圖)
接下來(lái),我們需要?jiǎng)?chuàng)建一個(gè)任務(wù)配置類(lèi),用于配置任務(wù)的輸入和輸出。
@Configuration@EnableTaskpublic class StringReverseTaskConfiguration { @Bean public TaskConfigurer taskConfigurer() { return new DefaultTaskConfigurer(dataSource()); } @Bean public DataSource dataSource() { return new EmbeddedDatabaseBuilder() .setType(EmbeddedDatabaseType.H2) .addScript("classpath:org/springframework/cloud/task/schema-h2.sql") .build(); } @Bean public CommandLineRunner commandLineRunner(TaskExplorer taskExplorer) { return args -> { List taskExecutions = taskExplorer.getTaskExecutions(taskExplorer.getLatestTaskExecution("string-reverse-task").getTaskName()); for (TaskExecution taskExecution : taskExecutions) { System.out.println("Execution: " + taskExecution.getExecutionId() + " / Task name: " + taskExecution.getTaskName() + " / Start time: " + taskExecution.getStartTime() + " / End time: " + taskExecution.getEndTime() + " / Exit code: " + taskExecution.getExitCode()); } }; } @Bean public Task stringReverseTask() { return new SimpleTaskBuilder() .name("string-reverse-task") .input("Hello World!") .tasklet(new StringReverseTask()) .build(); }}
在上面的代碼中,我們創(chuàng)建了一個(gè)名為stringReverseTask的任務(wù),使用SimpleTaskBuilder類(lèi)創(chuàng)建任務(wù)對(duì)象。我們通過(guò)name方法來(lái)為任務(wù)命名,通過(guò)input方法設(shè)置任務(wù)的輸入,通過(guò)tasklet方法設(shè)置任務(wù)的執(zhí)行邏輯。這里我們使用了之前實(shí)現(xiàn)的StringReverseTask類(lèi)作為任務(wù)執(zhí)行邏輯。
現(xiàn)在,我們已經(jīng)實(shí)現(xiàn)了任務(wù)的輸入、輸出以及任務(wù)處理邏輯,接下來(lái)我們需要運(yùn)行任務(wù)。
我們可以通過(guò)CommandLineRunner類(lèi)運(yùn)行任務(wù),CommandLineRunner接口在Spring Boot應(yīng)用程序啟動(dòng)后執(zhí)行一些預(yù)定義的任務(wù)。我們?cè)谥暗腟tringReverseTaskConfiguration類(lèi)中定義了一個(gè)CommandLineRunner類(lèi),該類(lèi)通過(guò)TaskExplorer類(lèi)查詢(xún)?nèi)蝿?wù)執(zhí)行結(jié)果并將結(jié)果輸出到控制臺(tái)。
現(xiàn)在我們可以運(yùn)行Spring Boot應(yīng)用程序,看到任務(wù)的執(zhí)行結(jié)果:
Received input: Hello World!Output: !dlroW olleHExecution: 1 / Task name: string-reverse-task / Start time: 2022-04-23 17:09:27.149 / End time: 2022-04-23 17:09:27.155 / Exit code: 0
在上面的輸出中,我們可以看到任務(wù)的輸入和輸出,以及任務(wù)的執(zhí)行結(jié)果。此外,我們還可以看到任務(wù)的執(zhí)行時(shí)間和退出碼。
關(guān)鍵詞:
凡本網(wǎng)注明“XXX(非中國(guó)微山網(wǎng))提供”的作品,均轉(zhuǎn)載自其它媒體,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)和其真實(shí)性負(fù)責(zé)。
為進(jìn)一步規(guī)范首都旅游市場(chǎng)價(jià)格秩序、切實(shí)維護(hù)消費(fèi)者合法權(quán)益,北京市市場(chǎng)監(jiān)督管理局決定自即日起到10月底,
2023-04-22 11:24
據(jù)路透社和彭博等媒體4月21日消息,美國(guó)國(guó)土安全部部長(zhǎng)亞歷杭德羅·馬約卡斯(AlejandroMayorkas)表示,該部
2023-04-22 10:30
海報(bào)新聞?dòng)浾邔O杰辛振東濟(jì)寧報(bào)道4月19日,“走黃河廊道看高質(zhì)量發(fā)展”中央媒體、沿黃九?。▍^(qū))媒體聯(lián)合采
2023-04-22 07:43
文化旅游主打一種“代入感”,讓游客有夢(mèng)回往昔之感的旅游區(qū)更能贏得美譽(yù)度。老街的韻味,關(guān)鍵在一個(gè)“老”
2023-04-22 07:49
4月17日-22日,山東省組織的“走文化廊道進(jìn)經(jīng)濟(jì)園區(qū)看山東高質(zhì)量發(fā)展”行進(jìn)式主題采訪(fǎng)活動(dòng)第五路——“走黃
2023-04-22 07:45
●鳥(niǎo)類(lèi)環(huán)志是個(gè)啥?鳥(niǎo)類(lèi)環(huán)志是指用來(lái)研究候鳥(niǎo)遷徙動(dòng)態(tài)及其規(guī)律的一種重要手段。環(huán)志工作人員將帶有國(guó)家統(tǒng)一
2023-04-22 07:58
齊魯網(wǎng)·閃電新聞4月22日訊今天是第54個(gè)世界地球日。今年世界地球日的主題為“眾生的地球”,旨在呼吁全人
2023-04-22 07:51
4月以來(lái),壓制醫(yī)藥板塊的一些因素陸續(xù)緩解,各路資金對(duì)醫(yī)藥板塊的關(guān)注度不斷增強(qiáng)。Choice數(shù)據(jù)顯示,4月以來(lái)
2023-04-22 07:42
加州記憶與存儲(chǔ)設(shè)備公司網(wǎng)表(NLST)收漲21 21%,創(chuàng)2022年5月5日以來(lái)最大單日漲幅——當(dāng)天漲43 17%。美國(guó)得州
2023-04-22 06:46
文化和旅游部4月21日公布2023年一季度國(guó)內(nèi)旅游數(shù)據(jù)情況。根據(jù)國(guó)內(nèi)旅游抽樣調(diào)查統(tǒng)計(jì)結(jié)果,2023年一季度,國(guó)
2023-04-22 05:44