0
我目前正在設計一個java關聯引擎,它從pdf文件中提取數據並將關係數據庫中的結構化數據關聯(在必要時引發警報)。在Java中處理鏈中的排隊作業
着眼於PDF的文件處理系統包括:
正在執行從PDF定製提取的組件。
其解析有時無序不潔數據轉換成所需的數據結構
歸一化部件,其將正常化的值用於比較
並且與DB接口(其中所提取的數據將組分A組分插入其餘數據)
這些組件應該可以在其他處理鏈中重複使用,但它們都會在最初運行在同一個系統上。
我認爲在組件之間進行某種緩衝是明智的做法,使用JMS隊列是明智的做法還是會讓事情複雜化?我一直在試驗一個簡單的linkedblockingqueue對象,但是這個對象必須在組件之間傳遞,所以它需要一個主組件來驅動我不知道的所有東西,是否有一種解決這個問題的標準方法?
對於完成的作業,包含每個組件的隊列對象是否相當標準,並讓處理程序從中取出或在單獨的處理程序中擁有隊列? – zode64 2011-06-09 16:07:48
我想讓一個組件通過方法調用調用另一個組件,並在出現錯誤時返回結果或拋出異常。我沒有看到需要一個隊列。 – 2011-06-09 16:11:36
使用隊列的想法是,一些作業將如此處理器和內存密集型,這些任務完成並且結果排隊以便資源可以被釋放,並且隊列可以被運行的多個線程使用同時 – zode64 2011-06-09 16:59:39