偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

選擇正確的Java批處理實現(xiàn)的10個關(guān)鍵點

開發(fā) 后端
您可能已經(jīng)知道,JSR-352是一個Java批處理的標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)在今年發(fā)布,并被包含在了JEE7之中,這意味著,所有的JEE7應(yīng)用服務(wù)器都會有批處理的能力。正如我在上一篇文章中指出,即使您的應(yīng)用服務(wù)器是固定的,但是您依舊可以選擇JSR-352的實現(xiàn)。

您可能已經(jīng)知道,JSR-352是一個Java批處理的標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)在今年發(fā)布,并被包含在了JEE7之中,這意味著,所有的JEE7應(yīng)用服務(wù)器都會有批處理的能力。正如我在上一篇文章中指出,即使您的應(yīng)用服務(wù)器是固定的,但是您依舊可以選擇JSR-352的實現(xiàn)。

既然您可以選擇,那么您應(yīng)該怎么樣選擇呢?當(dāng)然,這和JSR-352提供了什么沒有關(guān)系,因為所有的實現(xiàn)都會有這些功能。你應(yīng)該根據(jù)那些超出標(biāo)準(zhǔn)之外功能來進行選擇。在本文中,基于之前在一些有代表性的公司例如保險公司和銀行,中實現(xiàn)Spring Batch的一些經(jīng)驗,我整理了一些可以作為參考的標(biāo)準(zhǔn)?,F(xiàn)在而言沒有嚴(yán)格的JSR-352實現(xiàn),即使是Spring Batch也還有一段距離,因此現(xiàn)在還沒有直接比較實現(xiàn)方案的可能。但是我們依舊可以看看各個實現(xiàn)在每個參考標(biāo)準(zhǔn)上面的比較(下面的標(biāo)準(zhǔn)按照重要性來排序)。

 可測試性

Junit 集成測試在不要部署到應(yīng)用服務(wù)器商應(yīng)該可以跑批處理任務(wù)。開發(fā)的周期性和測試覆蓋的潛力都會提高很多。

組件

一個干凈的批處理模型是很好的,但是為了快速開發(fā)批處理任務(wù)你需要依賴別人寫好的穩(wěn)定的組件。Spring Batch 有很多的這類組件 例如 ItemReaders,ItemWriters,PartitionHandlers 等等對應(yīng)各類數(shù)據(jù)和環(huán)境。

可觀察性

JSR-352 定義了批處理的元數(shù)據(jù)像 JobExecutions,JobInstances,StepExecutions 等等。應(yīng)該有一個簡單的能以圖形化的方式查看這些數(shù)據(jù)或者起/停批處理任務(wù)。Spring Batch 提供了Spring Batch Admin 來實現(xiàn)這個功能。你也可以看看JMX提供的工具。

社區(qū)化

一個友好的開發(fā)者社區(qū)能很大的提高生產(chǎn)能力??纯碐oogle的搜索結(jié)果,一個活躍的論壇和Stackoverflow上的活動來檢查JSR352實現(xiàn)廠商的產(chǎn)品普及度。

任務(wù)繼承

這個參考點看起來不是很重要,但是實際上所有Spring Batch項目都在用。大公司里面都有一些通用規(guī)則,例如協(xié)議監(jiān)聽器,日志初始化,退出代碼轉(zhuǎn)換等等等等。開發(fā)人員不應(yīng)該自己添加適當(dāng)?shù)谋O(jiān)聽器,應(yīng)該從父任務(wù)里簡單的繼承過來。然后在很多個類似的任務(wù)中用一個父任務(wù)來包含所有的公用組件這個功能聽起來就比較有道理了。

 

開源化

開源到底好不好是個爭論了很久問題,咱們也別老調(diào)重彈了。我個人喜歡開源的東西,因為代碼的實現(xiàn)方式對我來說是比較重要的。所以我最起碼能檢查每一個我選擇的開源產(chǎn)品的實現(xiàn)代碼。

安全性

安全一直都是很重要的,應(yīng)該要具備開始和停止任務(wù)的用戶控制,而且不是所有人能看到批處理的元數(shù)據(jù)。

 

可伸縮性選項

可伸縮性是很重要的,我在這里列到第8點才說是因為最重要的伸縮性選項-Local Partitioning 已經(jīng)包含在JSR -352 里面了。但是還應(yīng)該有更多的選擇 ,例如Spring Batch 提供的 Multi-threaded Step,Remote Partitioning ,Parallel Step,Remote Chunking 等等選項,所以看看你的實現(xiàn)廠商有沒有提供其他的伸縮性選項。

可配置性

JSR-352 定義了基于XML的任務(wù)設(shè)置模型。Spring Batch 提供了基于Java (類型安全的)的配置方式,因此確保了編譯期間很多細節(jié)問題的處理而且在任意IDE下支持重構(gòu)。這個參考點對執(zhí)行批處理任務(wù)不是很重要,所以我放在第九位,但是也是個值得擁有的功能點。

 

可擴展性

擴展性是一個非常重要的參考點,但是我把它放在最后一位是因為JSR-352 的 API 已經(jīng)提供了基本上全部的用于可擴展的接口,例如啟動和停止任務(wù),查看批處理元數(shù)據(jù)和編寫自有組件等等。但是,可能你還是會需要沒有被包含在JSR-352標(biāo)準(zhǔn)里面的功能。

10條參考點,有些范圍太廣太淡,有些又是很必要很實用的,重要性的排序是基于我在一些大公司使用Spring Batch 的經(jīng)驗。你可能會有自己的排序或者有些其他想法,但是你得承認上面得這些參考點都是很重要的。 選擇JSR-352的實現(xiàn)廠商應(yīng)該慎重因為你可能會用很久。我也希望這些參考點在你需要做出選擇的時候能幫助你。

英文原文:10 criteria for choosing the right implementation of the JSR-352 (Java Batch)

譯文鏈接:http://www.oschina.net/translate/10-criteria-choosing-right-implementation-jsr-352-java-batch

責(zé)任編輯:林師授 來源: 開源中國編譯
相關(guān)推薦

2020-09-14 18:47:03

云安全

2020-09-21 08:57:25

持續(xù)交付

2018-11-15 10:04:02

機柜方法布線

2009-11-24 11:49:44

微軟IE9

2020-04-03 10:27:56

桌面即服務(wù)DaaS冠狀病毒

2019-02-21 05:38:13

Kubernetes容器云計算

2020-05-28 10:18:57

IaaS云計算提供商

2017-01-16 10:42:31

2010-07-16 10:42:14

telnet批處理

2009-07-03 17:09:01

學(xué)習(xí)Tapestry

2021-05-23 15:23:55

代碼開發(fā)工具

2020-12-14 14:16:34

Pandas數(shù)據(jù)預(yù)處理

2022-08-01 07:42:17

線程安全場景

2009-07-08 11:27:05

敏捷方法

2016-10-25 13:58:36

數(shù)據(jù)圖表化大數(shù)據(jù)

2018-12-29 08:55:03

后端緩存關(guān)注點

2021-08-27 05:33:38

零信任網(wǎng)絡(luò)安全網(wǎng)絡(luò)攻擊

2018-11-02 08:30:43

開源數(shù)據(jù)庫技巧

2016-10-13 09:05:30

Windows 10DOS定時關(guān)機

2015-11-11 14:26:31

數(shù)據(jù)可視化術(shù)語
點贊
收藏

51CTO技術(shù)棧公眾號