我的應用程序需要作爲中間件工作,它已經從包含供應商ID的各種 客戶那裏獲得訂單(以xml的形式)。一旦獲得訂單,它需要以xml.i的形式向不同的供應商發送訂單請求 關於它的三個方面。在這裏,他們是: -關於這個用例的體系結構/設計的一些問題?
問題:
什麼,我計劃在高級別就要求而來的是,把它放在JMS隊列(現在我不知道 ,我應該爲創建隊列。每個供應商或一個隊列應該是足夠的,我認爲一個隊列就足夠了,因爲保持大量的隊列將被開銷。每個供應商維護獨立隊列的好處是可以更快地處理消息,因爲每個隊列上都會有獨立的生產者。
在將對象放入隊列之前 我需要做一些業務驗證。另外我輸入XML的結構我接收和輸出XML我需要發送給供應商是不同的。爲此,我計劃將輸入的xml轉換爲java對象,然後放在隊列 上,以便在消費者一側輕鬆進行驗證。另一個想法是不要將xml轉換爲java對象,只需通過xpath/xstream api獲取所有元素 的值並驗證它們並將xml字符串放在隊列中,因爲它在隊列中。然後在消費者端將xml轉換爲java對象,然後轉換爲不同的xml格式。有沒有辦法呢?
現在我的要求是隊列中的消費者每5小時處理一次隊列中的消息,並將xml請求 發送給供應商。我打算在這裏使用石英調度程序,它將逐個選擇工作,並根據supplierId發送給相應的供應商 。這裏是我的問題,如果我的工作一個接一個地選擇信息,然後發送給供應商。 它會太慢。我打算處理它在哪裏石英作業創建ThreadPool的大小說10線程的時間 併發處理隊列中的消息(所以這裏將在隊列中的多個消費者。我認爲這對隊列無效。我是否需要在這裏的話題而不是隊列?)。第二種方法是更好還是有一些比這更好?
我期待50K要求的每小時這意味着每秒
您尚未提供,負載是多少。度量標準 – Mani
@Mani提供負載指標 –
因此,在偷看時間(4:59小時)時,您會排除隊列中的250k個對象嗎? 。在發送回供應商時,您是否需要修改XMl的格式?在這種情況下,原因是XML存儲沒有意義。並且每個供應商可能除了不同的格式,除非中間層沒有與供應商之間的合同 – Mani