2010-08-21 119 views
2

我正在嘗試編寫一個全天候運行的Java服務,從網上抓取內容,並將其存儲到數據庫中。這個給定的最佳框架是什麼,我想...用於Java服務的框架+應用程序服務器+開發環境?

1.)有一個應用服務器,我可以部署我的代碼(並讓它自動運行)。這個應用程序服務器應該位於我的開發環境將運行的機器的另一個框中。 2)有一個開發平臺(我更喜歡基於eclipse的東西),它允許我直接將代碼部署到應用程序服務器(所以我不必爲了測試而將所有東西都ftp)。

3.)利用像Spring這樣的框架。

實際上,我想知道該怎麼選擇我......

1)應用服務器

2)開發環境(IDE) - 如果偏食,什麼服務器適配器使用

3)框架

到目前爲止,我已經使用VirgoSpringSource STS嘗試,但無法配置Web服務器適配器,供非本地主機,住宅建設ding服務器。我不想在我的開發箱上安裝處女座,並且我不想爲了部署而將我的代碼跳到我的生產服務器。

回答

0

原來有一些Maven插件會爲我遠程部署我的應用程序。最值得注意的是Cargo。這樣,我可以保留所有最初的工具/服務(Virgo,STS,Maven)。

3

爲什麼不使用Tomcat或其他Web容器,但最好將其拆分爲兩個應用程序。

有一個出去做刮,作爲一個獨立的應用程序,爲此你可以選擇任何東西,我會去Groovyhttp://groovy.codehaus.org/),因爲易於開發和維護在這裏很重要,你可以使用Eclipse的Groovy插件。

其他將是Web服務,爲了這個,我倒覺得Scalahttp://www.scala-lang.org/)將是很好,如果你有時間去學習它,但Grails(一個Groovy框架)將是有益的,所以你可以寫一個REST或SOAP Web服務。

通過將它們分開,您可以爲該特定方面選擇最佳解決方案,因爲Web服務器不應涉及刮取,但Web服務器將要從數據庫讀取。

這兩種語言運行在JVM上,可以使用常規的java類/庫,但是它們對普通Java有改進。

+0

不使用Tomcat原因有二:1)Tomcat服務器適配器在Eclipse中不允許非本地主機部署(我想打一個按鈕,並在ide內部署)。 2)寧願使用Spring。 – 2010-08-21 18:09:22

+2

Spring和Tomcat並不相互排斥 – Ither 2010-08-21 18:24:40

+0

@其他 - 直到架構確定討論Spring或其他框架爲時尚早,IMO。 – 2010-08-21 20:31:13

0

我實際上最近已經建立了類似的東西。我的應用程序可以運行沒有servlet容器或應用程序服務器。我選擇在Tomcat servlet引擎中運行我的應用程序的原因是,我可以添加REST API來輕鬆檢索服務器狀態信息,但我離題了。

簡單的香草Eclipse J2EE安裝有很好的Tomcat支持,所以如果不知道更多關於您的口味和細節的話,我會去做。

爲了使應用程序的自啓動,你需要實現ServletContextListener接口:

public class ServerClass extends HttpServlet implements ServletContextListener { 

    public void contextInitialized(ServletContextEvent event) { 

    // create and start a thread here. 

    } 

    public void contextDestroyed(ServletContextEvent event) { 

    } 

}  

以下內容添加到您的web.xml

<listener> 
    <listener-class>com.my.ServerClass</listener-class> 
</listener> 
你要哪框架使用

,只有你自己才能決定。你的問題是通用的,給出一個體面的答案。閱讀幾個並選擇一個。簡單的老Java也會做得很好,否則Scala可能是一個很好的替代選擇。

因此,要回答你的問題:

  1. Tomcat servlet引擎
  2. 香草J2EE的Eclipse版本
  3. 普通Java
相關問題