這是問我在採訪的一個問題:我需要儘快調用一些Java方法
因爲數據庫中的數據將被更新爲 。我可以通過SQL觸發器調用一些java方法嗎?
這是問我在採訪的一個問題:我需要儘快調用一些Java方法
因爲數據庫中的數據將被更新爲 。我可以通過SQL觸發器調用一些java方法嗎?
而不是輪詢主表,我會建議有一個表(列時間戳,原因),其中包含主表的變化摘要。這改善了查詢性能。
摘要表上的前1個查詢給出了答案。
我以某種方式得到了你的答案,但請你詳細解釋它嗎? – 2011-12-22 07:13:00
一般來說,你應該避免填充多個應用程序的數據庫。這並非總是可行,所以你需要一些特別的機制。輪詢是你能做的最好的事情,但你可以簡單地輪詢你需要的表格,或者由觸發器填充的另一個表格。
從數據庫中調用java將違反你的圖層界限,這是一件壞事。即使DB以某種方式支持魔術回調機制,我仍然猶豫使用它。
我的解決方案是我的SQL觸發器將在硬盤上生成一個特定的文件,我的一個Java線程將持續輪詢相同的位置,如果一旦文件出現就生成了一些文件,我們可以在run方法的while循環中執行我們的工作。 – 2011-12-22 06:55:30
不要在評論中寫更多關於問題的細節,你可以編輯你的問題。 – 2011-12-22 06:56:44
http://docs.oracle.com/cd/B19306_01/java.102/b14187/chthree.htm#CACEGFCH – 2011-12-22 06:57:48