Spring Batch學習(一)介紹

2021-08-27 19:57:18 字數 1947 閱讀 9270

我們不會總是想要立即得到需要的資訊,批處理允許我們在請求處理之前就乙個既定的流程開始蒐集資訊;比如說乙個銀行對賬單,我們可以按月生成,並在使用者查詢之前開啟乙個批處理流程進行處理;

更好的利用資源;讓應該利用的處理能力閒置起來是乙個大的浪費,我們可以定製處理讓乙個機器乙個接乙個的執行job可以更好的利用機器的處理能力;

批處理是指在沒有與使用者進行互動和干擾的情況下進行資料處理,一旦開始,乙個批處理流程應該在沒有任何干擾的情況下執行至結束;

可維護性,spring batch能讓你依靠spring框架所提倡的依賴注入去解耦物件,憑藉spring所提供的測試工具生成健壯的一系列測試單元,這些都讓你的維護風險最小化;

靈活性,使用spring batch,你能在系統之間共享**,如你能使用那些在你的web應用程式中已經被測試和除錯過的服務;

可擴充套件性,在乙個完全沒有事務管理的batch job中,你只需要記住一些原則,並通過一些簡單的配置就可以讓整個批處理流程具有事務回滾和commit的能力;

活躍的社群支援;

spring batch框架是埃森哲和springsource合作專案,它利用乙個基於標準的方式去實現常見的批處理模式和範例;它實現的特徵包括:資料驗證、輸出格式化、用一種可重用的方式去實現複雜的業務規則、處理大資料集的能力;

spring batch由3層組成:

第一層是應用程式層,包括:所有的自定義**、為建立批處理流程的所有配置、業務邏輯和服務;注意應用程式層並不處於其它兩層的上方,而是封裝了其它兩層(核心層和基礎框架層),原因是在應用程式層中絕大多數你所開發的自定義**都是和核心層一起工作的;

應用程式層絕大部分時候是和下一層(核心層)進行互動,核心層包含了定義「批處理域」的所有部分,核心元件的元素包括job和step介面,同時也包括執行job的所有介面:joblauncher和jobparameter;

最下面一層是基礎框架層,為了做一些處理,你需要從檔案、資料庫中讀寫資料,或者應付乙個job失敗的情況,這些部分被視作為常見的基礎框架,被放置在framework的基礎框架元件裡面。

注意:spring batch最常見的誤解是它是乙個scheduler,但在spring batch中沒有任何一種方式能讓乙個job在某個預定的時間或者被某個事件觸發時啟動,這些都是通過外部的方式來做到

<

bean

id="accounttasklet"

class

="com.thoughtworks.springbatchdemo.accounttasklet"

/>

<

job

id="accountjob"

>

<

step

id="accountstep"

>

<

tasklet

ref="accounttasklet"

/>

step

>

job>

spring batch提供了很多管理工具,例如啟動或停止spring batch job、檢視上次job運**況的統計資訊;spring batch將這些功能都包含在乙個新的外掛程式裡:spring batch admin project,它提供了乙個基於web的控制中心,讓你能對你的批處理流程實施控制,並能監控批處理的效能。

在 android dialog中使用autocompletetext 

大型**架構設計-solr

mysql雜湊索引

android學習筆記(32)網格檢視(gridview )和圖形切換器(imageswi...

android學習筆記(31)可展開的列表元件(expandablelistview )

更多關於

android開發文章

Redis學習筆記(一) 介紹

redis 是乙個開源的高效能鍵值對資料庫 他通過提供多種鍵值資料型別來適應不同場景下的儲存需求,並借助許多高層級的介面使其可以勝任如快取 佇列系統等不同的角色。redis是remote dictionary server 遠端字典伺服器 的縮寫,他以字典結構儲存資料,並允許其他應用通過tcp協議讀...

RabbitMQ學習系列(一) 介紹

1.介紹 rabbitmq是乙個由erlang開發的基於amqp advanced message queue 協議的開源實現。用於在分布式系統中儲存 訊息,在易用性 擴充套件性 高可用性等方面都非常的優秀。是當前最主流的訊息中介軟體之一。rabbitmq的官網 2.amqp amqp,是應用層協議...

RabbitMQ學習系列(一) 介紹

1.介紹 rabbitmq是乙個由erlang開發的基於amqp advanced message queue 協議的開源實現。用於在分布式系統中儲存 訊息,在易用性 擴充套件性 高可用性等方面都非常的優秀。是當前最主流的訊息中介軟體之一。rabbitmq的官網 2.amqp amqp,是應用層協議...