2010-08-21 166 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
相关问题