簡體   English   中英

在運行時具有多個數據源的Spring批處理

[英]spring batch with multiple datasources at runtime

我必須在表中搜尋一些已配置的數據庫。 每個記錄都指定要從中讀取的模式。 因此,我們必須輪詢表並適當地運行作業。

被認為使用Spring批處理(JdbcPagingItemReader)從所有已配置的Schema中讀取數據。 如果我必須配置它,如何使用Spring Batch做到這一點?

我應該使用不同的讀取器來為每個數據庫讀取多個作業,還是應該以某種方式在運行時發送數據源以供Spring Batch讀取數據?

如何為單個Spring Batch管理多個數據庫。 如果沒有,那么是否有其他有關數據庫爬網(或收獲)的建議?

如果您只是在運行查詢以獲取一些數據然后再運行其他查詢,那么這實際上與Spring Batch的功能不符。 那只是一個標准的JDBC或JPA類型的DAO / Service設置。 您可以使用Quartz或Spring Scheduler為檢查表的時間設置CRON值。

使用Spring Batch有2個解決方案:

  • 在運行時通過JobParameters傳遞DataSource屬性(URL,用戶名,密碼...)。 這意味着第一次閱讀的閱讀邏輯(告訴您閱讀什么)必須在工作之外完成
  • 有一個包含兩個步驟的作業,第一個步驟在JobExecutionContext執行“元數據”讀取並將結果存儲在JobExecutionContext ,第二個步驟在運行時使用先前存儲的值進行實際讀取

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM