在我的Web應用程序中,我有一部分需要不斷抓取Web,處理這些數據並將其呈現給用戶。所以我想知道是否將它分成兩個獨立的應用程序,其中一個可以執行爬網,數據處理並將數據存儲在數據庫中。另一個應用程序將是一個Web應用程序(安裝在某個Web服務器上),它將向用戶呈現來自數據庫的數據並允許他與數據進行某種交互。兩個不同的Java應用程序共享相同的數據庫
我認爲我需要這個拆分的原因是因爲如果我對我的web應用進行了某些更改(如添加新功能,更改接口等),我不希望爬行被中斷。
我的應用程序堆棧是Tapestry(web層),Spring,Hibernate(通過MySQL)和我自己的履行程序獨立於其他人的實現。
僅僅使用相同的數據庫就可以完成整合嗎?這可能會導致同時從這兩個應用程序訪問數據庫的問題。或者可以在Hibernate級別完成集成,所以這兩個應用程序可以使用相同的Hibernate會話?但是,來自一個JVM實例的應用程序是否可以從另一個JVM實例訪問該對象?
我將不勝感激任何有關此事的建議。
UPDATE
用戶(從Web應用程序界面)將進入履帶解析網址。抓取工具應用只會讀取網頁應用填充的網址表格。反之亦然,抓取工具處理的數據只會顯示在用戶界面上。所以,我認爲我不應該擔心任何類型的鎖定,對吧?
感謝, 尼古拉
非常感謝您的回覆!用戶會插入抓取工具的網頁URL進行抓取,但抓取工具應用只會讀取該表格,而不是以任何方式更新。謝謝! – Nikola 2011-04-16 19:42:54