我正在使用Spring開發Java項目。數據庫是Oracle 我們在連接到遠程隊列的容器中配置了一個消息監聽器。以下是我們做一次的onMessage被觸發觸發Java進程檢測記錄會議特定條件
- 解析消息
- 在數據庫中插入消息的步驟。
- 基於消息的內容做有關文件處理,數據庫插入/更新等一些額外的過程..
如果隊列中接收到的消息是好的,因爲我們這邊的一些問題,我們無法處理它,我們沒有辦法在等待一段時間後重新處理消息[假設觸發錯誤的問題得到解決]。
以下是提出的新設計。 1.解析消息 2.使用標誌將消息插入數據庫中。說「錯誤」[該標誌只有在郵件成功處理時纔會被更改。]
要添加的新進程要查詢數據庫中標記爲「false」的記錄[一次一個],處理它並更新該標誌爲true。如果處理失敗,請重試可配置的時間量以處理相同的記錄。該過程可以死,如果沒有更多的記錄處理或已用盡的重試次數...
請提出合理的設計方案,其處理在儘可能早的時間檢測標記爲「假」的記錄消息
- 觸發一個java程序使用數據庫觸發器?[DBA是反對]
- 是否有數據庫插入完成,也不會妨礙下一信息的檢索之後,我們可以觸發過程中onMessage方法的方法嗎?
- 調度定期輪詢數據庫的作業嗎?
您的處理代碼是否必須使用Java或可以使用PL/SQL? – OldProgrammer
它必須在Java中 – user3255168