Какой фреймворк + сервер приложений + среда разработки использовать для служб Java?
Я пытаюсь написать Java-сервис, который работает 24/7, удаляет контент из интернета и сохраняет его в базе данных. Какую структуру лучше всего использовать для этого, учитывая, что я хотел бы...
1.) Иметь сервер приложений, на котором я могу развернуть свой код (и запустить его автоматически). Этот сервер приложений должен находиться в отдельном окне от машины, на которой будет работать моя среда разработки.
2.) Есть платформа разработки (я бы предпочел что-то на основе eclipse) что позволяет мне развертывать свой код непосредственно на сервере приложений (так что мне не нужно все тестировать по ftp).
3.) Используйте рамки, такие как пружина.
В сущности, я хотел бы знать, что выбрать для моего...
1.) сервер приложений
2.) среда разработки (ide) -- если eclipse, то какой серверный адаптер использовать
3.) рамки
До сих пор я пытался использовать Virgo с SpringSource STS , но не смог настройте адаптер веб-сервера для нелокального хост-сервера. Я не хочу устанавливать Virgo на свой ящик разработки, и я не хочу, чтобы мой код по ftp перескакивал на мой рабочий сервер для развертывания.
3 ответов:
Почему бы вам просто не использовать Tomcat или какой-нибудь другой веб-контейнер, но, возможно, лучше разделить его на два приложения.
Есть один, который выходит и делает выскабливание, как автономное приложение, для этого вы можете выбрать что угодно, я бы пошел с
Groovy(http://groovy.codehaus.org/), так как здесь важна простота разработки и обслуживания, и вы можете использовать Groovy плагин для Eclipse.Другой был бы веб-сервис, и для этого я бы подумал
Разделяя их, вы можете выбрать лучшее решение для этого конкретного аспекта, так как веб-сервер не должен участвовать в очистке, но веб-сервер захочет читать из базы данных.Scala(http://www.scala-lang.org/) было бы неплохо, если у вас есть время, чтобы изучить его, ноGrails(заводной фреймворк) было бы полезно, поэтому вы можете написать REST или SOAP веб-сервис.Эти два языка работают на JVM и могут использовать обычные классы/библиотеки java, но есть улучшения по сравнению с обычной Явой в них.
Я действительно построил нечто подобное совсем недавно. Мое приложение может работать без контейнера сервлетов или сервера приложений. Причина, по которой я решил запустить свое приложение в движке сервлетов 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 может быть хорошим выбором замены.
Итак, чтобы ответить на ваши вопросы:
- двигатель сервлета Tomcat
- Vanilla J2EE Eclipse версия
- обычная старая Ява
Comments