1
我有SQL Server 2012和ActiveMQ(JMS服務器)。 SQL Server有一個觸發器,用於在數據庫表中插入數據時向ActiveMQ發送消息。我們有一個要求,我們不應該丟失任何消息。所以有機會讓ActiveMQ失敗,在這種情況下,我們不應該丟失消息。我該如何處理這種情況?我聽說過集羣,這會對我們有用嗎?SQL server和activemq的體系結構
我有SQL Server 2012和ActiveMQ(JMS服務器)。 SQL Server有一個觸發器,用於在數據庫表中插入數據時向ActiveMQ發送消息。我們有一個要求,我們不應該丟失任何消息。所以有機會讓ActiveMQ失敗,在這種情況下,我們不應該丟失消息。我該如何處理這種情況?我聽說過集羣,這會對我們有用嗎?SQL server和activemq的體系結構
必須使用XA coordinator註冊SQL Server和ActiveMQ的分佈式事務。見Supporting XA Transactions和ActiveMQ: How do Transactions Work。沒有別的辦法可以工作,因爲SQL Server可以在觸發器運行後回滾,在這種情況下,還必須回滾ActiveMQ send
。