Какой фреймворк + сервер приложений + среда разработки использовать для служб Java?



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



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



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



3.) Используйте рамки, такие как пружина.



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



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



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



3.) рамки



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

690   3  

3 ответов:

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

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

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

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

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

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

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

Простая установка vanilla 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
  2. Vanilla J2EE Eclipse версия
  3. обычная старая Ява

Comments

    Ничего не найдено.