我知道很多人只是看着標題就可以解決這個問題,但這對我很重要。當數據庫表發生變化時,對JAVA Web應用程序的暗示
我在那裏我們的Java應用程序應該知道如果在DB改變任何表的要求(我們使用了MySQL)。我現在能想到的最好的方法是,我寫一個觸發器,如果表'x'被改變,那麼我在表'Y'中插入一條記錄,表明表'X'被改變。
現在,在我的Java Web應用程序中,我正在考慮通過Quartz調度程序每分鐘運行一個線程來檢查表'y'中是否有任何新記錄,這樣我可以發現表'X'是改變。
這裏是我需要建議的地方。 1)如何編寫sql觸發器在特定表被修改時被觸發? 2)我的老闆告訴我,每分鐘運行一個線程都是一個昂貴的操作。
除了運行線程來查找數據庫中的表是否被更改之外,是否還有其他選擇?
我真的需要找到解決這個問題的任何解決方案。幫助表示讚賞。
更新:
我有兩個Web應用程序說,WA1和WA2兩者共享同一個數據庫中說DBS。如果用戶在WA2中執行操作,則DBS表會被更改(添加新列)。所以,我的WA1應該知道在WA2中執行操作。我想到遵循上面提到的兩點。有沒有更好的方法來做到這一點?
而且任何人都可以給我這得到執行,如果有說MYTBL改變一個表一個MySQL觸發器?
我不斷聽到Java Stored Procedures and Triggers和UTL_HTTP.REQUEST但它是甲骨文。無論如何要在MySQL中實現這一點?
使用而改變你的意思是表結構發生變化即新列添加。或者你的意思是新條目被添加到表 –
通過改變,我的意思是,新列被添加。我不想考慮列是否被修改或刪除。 – chaitanya89
嘗試mysql_proxy ... – Meherzad