Какие рамки + сервер приложений + среда разработки использовать для сервисов Java? - PullRequest
2 голосов
/ 21 августа 2010

Я пытаюсь написать Java-сервис, который работает 24 часа в сутки, извлекает контент из Интернета и сохраняет его в базе данных.Каков наилучший фреймворк для этого, учитывая, что я бы хотел ...

1.) У меня есть сервер приложений, на котором я могу развернуть свой код (и он будет запускаться автоматически).Этот сервер приложений должен располагаться отдельно от компьютера, на котором будет работать моя среда разработки.

2.) Иметь платформу разработки (я бы предпочел что-то, основанное на затмении), которая позволяет мне развертывать свой код напрямуюк серверу приложений (так что мне не нужно все проверять по ftp).

3.) Используйте фреймворк, такой как Spring.

По сути, яХотелось бы узнать, что выбрать для моего ...

1.) сервера приложений

2.) среды разработки (ide) - если затмение, какой серверный адаптер использовать

3.) Framework

До сих пор я пытался использовать Virgo с SpringSource STS , но не смог настроить адаптер веб-сервера дляне локальный хост-сервер.Я не хочу устанавливать Virgo на моем компьютере для разработки и не хочу, чтобы ftp перепрыгивал мой код на рабочий сервер для развертывания.

Ответы [ 3 ]

3 голосов
/ 21 августа 2010

Почему бы вам просто не использовать Tomcat или какой-либо другой веб-контейнер, но может быть лучше разделить его на два приложения.

Имейте одно, которое выходит и выполняет очистку, как отдельное приложение,для этого вы можете выбрать что угодно, я бы выбрал Groovy (http://groovy.codehaus.org/),, поскольку здесь важна простота разработки и обслуживания, и вы можете использовать плагин Groovy для Eclipse.

Другойбыть веб-сервисом и для этого я бы подумал, что Scala (http://www.scala -lang.org / ) было бы неплохо, если бы у вас было время изучить его, но Grails (отличная структура)было бы полезно, поэтому вы можете написать веб-сервис REST или SOAP.

Разделив их, вы сможете выбрать лучшее решение для этого конкретного аспекта, поскольку веб-сервер не должен участвовать в очистке, авеб-сервер захочет читать из базы данных.

Эти два языка работают на JVM и могут использовать обычные классы / библиотеки Java, но в них есть улучшения по сравнению с простым Java.

0 голосов
/ 22 августа 2010

Я на самом деле создал нечто подобное совсем недавно.Мое приложение может работать без контейнера сервлета или сервера приложений.Причина, по которой я предпочитаю запускать свое приложение в движке сервлета Tomcat, заключается в том, что я могу добавить к нему REST API, чтобы легко получать информацию о состоянии сервера, но я отвлекся.поддерживать, поэтому, не зная больше о ваших вкусах и особенностях, я бы пошел с этим.

Чтобы сделать ваше приложение самостоятельным запуском, вам необходимо реализовать интерфейс 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
  2. Версия Eclipse Vanilla J2EE
  3. Обычная старая Java
0 голосов
/ 21 августа 2010

Оказывается, есть некоторые плагины maven, которые будут удаленно развертывать мое приложение для меня. Наиболее заметным является Cargo . Таким образом, я могу сохранить все свои первоначальные инструменты / сервисы одинаковыми (Virgo, STS, Maven).

...