我有一個關於使用EJB定時服務的場景。使用EJB定時器服務執行外部服務
使用情況如下: 系統應該能夠安排一個任務,該任務將使用某個特定的時間戳查詢/詢問我們的Subversion存儲庫文件更改。
這個想法是,無論計劃任務即將運行,它都將執行鍼對特定svn存儲庫的命令。 對於這個特定的目的,我不會叫任何外部操作,而是會使用使用SVNKit Java庫http://svnkit.com/
我唯一擔心的就是這個的「純」的java方式: 是否使用EJB計時器是個好主意服務來執行將調用外部進程的任務?我的方式將使用'純'的java方式,但在其他情況下,例如直接調用批處理文件/命令行/外部可執行文件到定時器服務邏輯中。
我擔心的服務器內存使用/性能等
的影響這是一個好主意?
另一種想法是,我想在服務器上使用基於客戶端的技術(如SWT/Swing)創建一個'桌面'應用程序,它將執行輪詢並在那裏編寫邏輯,但這意味着我需要管理兩個應用程序。 「桌面」應用程序將輪詢我將在Glassfish中創建的'web'用戶界面。
我傾向於在我選擇的應用程序服務器中做所有事情,這是glassfish。
我以前使用過EJB Timer,但它只是在不調用任何extenral服務的情況下調用數據庫,只是這個場景出現了,所以我在這裏提出了一個問題,以便從那些有經驗的人那裏收集更多的想法。
有什麼想法?
我一直在使用桌面應用程序實現第二個應用程序,並且有一個計劃任務使用jms發送消息。原因是桌面應用程序將在連接的客戶端上運行。這工作沒問題,我遇到的問題是部署客戶端應用程序,這本身就是一個領域。所以,如果你永遠不會有要求在不同的機器上運行,我不認爲這是值得的成本 –