0

我正在嘗試處理數據上傳,我試圖通過PeopleSoft通過Integration Broker異步地在應用程序引擎中發佈消息。關鍵是能夠發送多個消息並在同一個節點中使用它們。在發送消息之前,我將數據存儲在一個表(如T1)上,以將所有字段值存儲在上載文件中。我們是否可以等待PeopleSoft應用程序引擎等待異步消息完成?

雖然消費我試圖公開每個消息到組件接口和異常登錄到同一個表T1。比方說,我們正在標記表格字段(比如Processed_flag ='Y')。

我需要一個機制,我可以等待所有的異步消息完成。我正在考慮檢查T1表,如果T1表上有任何Processed_flag爲'N'的行,只需讓線程休眠更多時間。儘管所有消息都未處理,但請保持休眠狀態,不要讓應用程序引擎完成。

我可以得到的唯一好處是我不必一次等待多個實例,也不必一定要進行同步調用。整個想法是通過不同的交易來使用組件(就好像它被100人使用 - > 100次交易一樣)。

除非這100個事務完成,否則我們將確保T1表保留記錄上下的內容。如果出現問題,它可以記錄由CI捕獲的異常。

對這種方法的任何意見,將不勝感激。提前致謝!

回答

1

我們正在採取不同的方法。即使我們能夠在應用程序引擎完成之前驗證這些表上的數據,但異步發送消息的整個想法是沒有用的。在這種情況下,使用同步消息會更好,並行運行進程。

因此,我們決定讓應用程序引擎完成並通過消息發佈所有數據塊,並確保消息在同一節點中完全消耗。

  1. 我們將更新表T1,針對所有已處理/成功/失敗的行,因爲我們會繼續使用消息並根據需要使用它們。

  2. 我們將爲發佈和使用的所有行保留審計或計數器。由於將同一組件暴露給多個事務將會對性能產生巨大影響。我們希望確保它的性能更好,就好像說有50個用戶使用相同的配置項(當然不同的實例)更新組件後面的相同表。我將完成我的概念驗證,並希望它會比並行運行這些過程好得多。

我希望這可以幫助任何人處理這些上傳問題。謝謝!