2011-07-23 39 views
0

我有一種情況,用戶上傳文件時,提交成功,然後一個記錄被插入到數據庫table.i將運行其他類的新文件,該民意調查數據庫,如果新的記錄被插入找回文件名,然後讀取文件,並插入所有文件記錄進入數據庫表。我沒有任何想法來解決這個問題,請幫助我,並提供您對這種情況的看法。如何輪詢數據庫並使用java跟蹤最新記錄?

感謝

+0

究竟是什麼問題?上傳,檢查的SQL? –

+0

是有可能讓其中獲取該文件,然後插入記錄到數據庫觸發類來檢索文件名,然後執行任務的過程? – 2011-07-23 14:41:51

回答

3

嗯,看來你想有一個Java類,將定期檢查表(比如TableA)和過程,因爲最後檢查一次插入這些新記錄。

你至少應該有一列(例如,polled_time)來捕獲記錄是否之前或不接受調查。 polled_time是記錄最後一次輪詢時的時間戳。如果記錄從未被輪詢過,則爲null

每當Java類開始,應該選擇未輪詢過程(select * from TableA where polled_time is null)的記錄。過程中的每個記錄後,你應該更新polled_time以表明它是調查並避免在Java類運行下一次(update TableA set polled_time = now() where id= xxxxx)它再次選擇出來的過程。

最後,你必須setup a schedule task(對於Windows平臺)/ a cron job(對於Linux/Unix平臺),你爲什麼就不能在同一個Servlet的doPost執行這兩種操作來運行這個Java類週期性,

0

() ?或擺脫文件名錶,只是有內容表,並避免整個投票情況?

doPost(...) { 
    try { 
    validateFile(...); 
    updateFileTable(...); 
    updateFilenameTable(...); 
} catch (...) {...} finally {...}