我需要實現一個批處理作業,該作業拆分XML,處理部件並在之後進行聚合。總量需要進一步處理。如何使用Spring批次正確聚合和拆分作業
帳戶部分的處理非常昂貴。在下面的圖片中,處理部分爲一個人的每個賬戶採取行動(一個人的賬戶數量隨機變化)。
樣品輸入文件:
<?xml version="1.0" encoding="UTF-8"?>
<Persons>
<Person>
<Name>Max Mustermann</Name>
<Accounts>
<Account>maxmustermann</Account>
<Account>esel</Account>
<Account>affe</Account>
</Accounts>
</Person>
<Person>
<Name>Petra Pux</Name>
<Accounts>
<Account>petty</Account>
<Account>petra</Account>
</Accounts>
</Person>
<Person>
<Name>Einsiedler Bob</Name>
<Accounts>
<Account>bob</Account>
</Accounts>
</Person>
</Persons>
每個人的每個帳戶執行以下操作: 調用REST服務,例如說
GET /帳號/ {個人}/{account}/logins
As result爲包含聚集登錄的每個Person調用一個休息服務-xml:
POST /分析/登錄/ {}人
<Person>
<Name>Max Mustermann</Name>
<Accounts>
<Account>
<LoginCount>22</LoginCount>
<Name>maxmustermann</Name>
</Account>
<Account>
<LoginCount>42</LoginCount>
<Name>esel</Name>
</Account>
<Account>
<LoginCount>13</LoginCount>
<Name>affe</Name>
</Account>
</Accounts>
</Person>
我沒有對API的任何影響,所以我需要更新的人捆綁。
我如何才能實現並行化,從而構建我的彈簧批處理應用程序?
我發現了一些起點,但沒有一個真正令人滿意。
我應該處理一步到位的帳戶數據,歸還屬於在每個項目的下一個步驟每一個帳戶,調查項目和聚合這些或者我應該在帳戶步實現並行化和聚合它這個步驟中,引入下一步進一步處理?
第一種方法存在問題:我應該如何知道所有物品已到達才能開始聚合?
第二種方法存在的問題(或者有問題):是否常常手動實現並行(例如Java未來)而不是將其留給Spring批處理?
什麼是春季批發種方式?
謝謝,托馬斯
so output is xml? –
Hi Sabir, 是它的XML。 – thomas