Hosting for Java Web App

User avatar
Montchik
Уже с Приветом
Posts: 2127
Joined: 27 Dec 1999 10:01
Location: Воронеж -> Naperville, IL

Re: Hosting for Java Web App

Post by Montchik »

tessob wrote: 26 Apr 2018 07:50
Montchik wrote: 25 Apr 2018 14:37 Мне показалось на минуточку что web app должна использовать heroku specific api для того чтобы ее можно было ранить на heroku hosted Tomcat. Может ошибся, не знаю.
Зачем ранить на их томкате? Можно в спрингбуте сделать джарник с томкатом внутри и он сам себя ранить будет. Это еще и удобно, т.к. можно тестить на локальной машине. Холодный запуск при разумном подходе от 2 до 4 секунд. С девтулом некоторые вещи можно обновлять на лету.
Montchik wrote: 25 Apr 2018 14:37 Сечас про еще один "косяк" прочитал - heroku ожидает что web server будет embedded in the application. А что если у меня две web apps and I wanna run them on the same tomcat instance и деплоить независимо друг от друга?
Это не косяк, это фича! Если вы не любите котов микросервисы, то вы просто не умеете их готовить. ))
Если поведение ваших инстансов должно быть независимо, то возможно вам просто нужно несколько инстансов.
А за чем мне springboot если я могу задеплоить мой варик на provided tomcat server напрямую без всяких дополнительных приблуд? 8)

Томкат можно ранить в eclipse и тут же "не отходя от кассы" деплоить и дебагить веб аппку на нем. Вообще никакие девтулы не нужны! Зачем усложнять?

ИМХО ембедить lightweight! web server нужно только если это действительно микросервис или web access есть побочная фича не веб аппликухи. К примеру у меня в realtime message processing application через веб сервис можно посмотреть it's internal state, что удобно. И не нужен для этого никакой томкат или даже джетти - apache httpcomponents framework хватило с лихвой.

Проблема с испольвованием custom api в том что будет трудно перейти на другого провайдера. Ничто не вечно и cloudefoundtry может завтра сделать все! или перестать поддерживать старые версии своих же библиотек на новых серверах. It happens! :old:
User avatar
Sergunka
Уже с Приветом
Posts: 34212
Joined: 03 Dec 2000 10:01
Location: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: Hosting for Java Web App

Post by Sergunka »

Montchik wrote: 27 Apr 2018 14:30 Томкат можно ранить в eclipse и тут же "не отходя от кассы" деплоить и дебагить веб аппку на нем. Вообще никакие девтулы не нужны! Зачем усложнять?
Тоже самое можно делать и с springboot в том же эклипсе.
"A patriot must always be ready to defend his country against his government." Edward Abbey
User avatar
valchkou
Уже с Приветом
Posts: 4185
Joined: 27 Apr 2011 03:43
Location: Сергели ->Chicago

Re: Hosting for Java Web App

Post by valchkou »

tessob wrote: 26 Apr 2018 07:50
Montchik wrote: 25 Apr 2018 14:37 Мне показалось на минуточку что web app должна использовать heroku specific api для того чтобы ее можно было ранить на heroku hosted Tomcat. Может ошибся, не знаю.
Зачем ранить на их томкате? Можно в спрингбуте сделать джарник с томкатом внутри и он сам себя ранить будет. Это еще и удобно, т.к. можно тестить на локальной машине. Холодный запуск при разумном подходе от 2 до 4 секунд. С девтулом некоторые вещи можно обновлять на лету.
Montchik, этот совет вам здравый.
спрингбут все в себя включает из коробочки. даже билдит executable jar(self contained microservice) для вас который стартует где угогдно где есть жава,
работает одинаково и на амазоне и на шушле и ажуре и внутри докера и без него,
томкат там не обязателен, можно использовать жетти, м даже нетти в последних версиях. Причем код не потребуется менять. Достаточно включить/исключить депенденси.
апа сама поймет какая имплементация доступна и поднимет соответствующий контейнер.

Вот вам пример такого приложения с rest api
https://github.com/valchkou-app/fibonacci-microservice

чтобы посмотреть нужно всего лишь:
- git clone
- gradlew bootRun - эта команда запустит сервис на порте 8080
- gradlew build - сдклает для вас жарник который можно запустить как "java -jar jarname"

Так как это хотите сделать вы в наши дни уже никто не делает
User avatar
Vladimir Kr.
Уже с Приветом
Posts: 572
Joined: 24 Mar 2004 07:31
Location: Krasnoyrsk -> -> Chicago

Re: Hosting for Java Web App

Post by Vladimir Kr. »

valchkou wrote: 03 May 2018 00:52 Так как это хотите сделать вы в наши дни уже никто не делает
может для себя-то лучше делать, не так как модно, а как лучше и правильнее?
а не с точки зрения достижения job security on microservices spaghetti architecture & make aws more profitable?
User avatar
valchkou
Уже с Приветом
Posts: 4185
Joined: 27 Apr 2011 03:43
Location: Сергели ->Chicago

Re: Hosting for Java Web App

Post by valchkou »

Vladimir Kr. wrote: 03 May 2018 05:27
valchkou wrote: 03 May 2018 00:52 Так как это хотите сделать вы в наши дни уже никто не делает
может для себя-то лучше делать, не так как модно, а как лучше и правильнее?
а не с точки зрения достижения job security on microservices spaghetti architecture & make aws more profitable?
челу вообще нужен 1 апп с рест интерфесом. Boot упрощает очень много в его задаче.
насчет спагетти, так это ваши архитекторы кривые и идея микросервисов не причем.
вы же как то решаете задачу с депенденси библиотеками?
примерно так же решается проблема совместимости сервисов. Система должна иметь consistent state основанный на версионности артифактов.
проблема в том что нельзя просто клепать микросервисы, параллельно нужно иметь экосистему.
если все организовать здраво то job security отдельного программиста как раз уменьшается. Упрощается код, сокращается время разработки и подзадачи запросто распараллеливаются и аутсорсятся.
скорее возрастает важность девопса. Архитектор всегда в цене, независисмо от кривости архитектуры
У меня свой вполне положительный опыт, без спагетти.
tessob
Уже с Приветом
Posts: 576
Joined: 07 Jan 2016 13:04

Re: Hosting for Java Web App

Post by tessob »

Лапша в микросервисах - проблема архитектора, а не микросервисов. У таких архитекторов обычно еще проблема с NoSQL, т.к. джойны не работают.
User avatar
Montchik
Уже с Приветом
Posts: 2127
Joined: 27 Dec 1999 10:01
Location: Воронеж -> Naperville, IL

Re: Hosting for Java Web App

Post by Montchik »

Отцы, куда-то вас не туда понесло. Мне нужны не resful микросервисы а вполне обычная веб аппка. Чесно скажу,что засовывать application server в аппку звучит сильно через жопу... :o
Однако я вебом не занимался последние шесть лет, может теперь так принято. Посмотрю на этот springBoot, спасибо!
User avatar
valchkou
Уже с Приветом
Posts: 4185
Joined: 27 Apr 2011 03:43
Location: Сергели ->Chicago

Re: Hosting for Java Web App

Post by valchkou »

Montchik wrote: 08 May 2018 19:34 Отцы, куда-то вас не туда понесло. Мне нужны не resful микросервисы а вполне обычная веб аппка. Чесно скажу,что засовывать application server в аппку звучит сильно через жопу... :o
Однако я вебом не занимался последние шесть лет, может теперь так принято. Посмотрю на этот springBoot, спасибо!
отцы плохого не посоветуют! прежде чем возмущаться ты попробуй и зацени простоту, изящность и гибкость данного подхода. Он непросто так набрал популярность на рынке.
твой UI должен какимто образом разговаривать с бакэндом, и если не через rest/json то как? не jsp же?
в springBoot для простоты весь UI можно поместить в то же проект в одно из след мест
src/main/resources/META-INF/resources/index.html
src/main/resources/resources/index.html
src/main/resources/static/index.html
src/main/resources/public/index.html

java -jar your.jar поднимет и UI и бакенд на любом клауде, машине, VM - ну куда проще то
User avatar
Montchik
Уже с Приветом
Posts: 2127
Joined: 27 Dec 1999 10:01
Location: Воронеж -> Naperville, IL

Re: Hosting for Java Web App

Post by Montchik »

Установил spring-boot, скомпилил пример Hello World with embedded tomcat, запустил джарик, подключил java visual vm. Ну че могу сказать, аппка влет сожрала 120MB RAM и почему-то продолжара отжирать даже в idle пока gc не случился. Не нравится мне это ибо если хостить в облаке, то за каждую лишнюю сотню мегов придется платить...

Вот такое maven dependency tree для запуска джарика. В принципе не очень печально с левыми зависимостями. Hibernate validator только непонятно зачем и он еще за собой jboss logging тянет! Зло этот ваш maven, народ с ним расслабился очень, совсем за classpath не следит.

Надо теперь попробовать cradle и embedded jetty со спринг бутом.

Code: Select all

package hello;

import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.stereotype.*;
import org.springframework.web.bind.annotation.*;

@Controller
@EnableAutoConfiguration
public class SampleController {

    @RequestMapping("/")
    @ResponseBody
    String home() {
        return "Hello World!";
    }

    public static void main(String[] args) throws Exception {
        SpringApplication.run(SampleController.class, args);
    }
}

Code: Select all

[INFO] Scanning for projects...
[INFO] 
[INFO] -----------------< net.montchik.springboot.poc:maven >------------------
[INFO] Building maven 0.0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- maven-dependency-plugin:3.0.2:tree (default-cli) @ maven ---
[INFO] net.montchik.springboot.poc:maven:jar:0.0.1-SNAPSHOT
[INFO] \- org.springframework.boot:spring-boot-starter-web:jar:2.1.0.BUILD-SNAPSHOT:compile
[INFO]    +- org.springframework.boot:spring-boot-starter:jar:2.1.0.BUILD-SNAPSHOT:compile
[INFO]    |  +- org.springframework.boot:spring-boot:jar:2.1.0.BUILD-SNAPSHOT:compile
[INFO]    |  +- org.springframework.boot:spring-boot-autoconfigure:jar:2.1.0.BUILD-SNAPSHOT:compile
[INFO]    |  +- org.springframework.boot:spring-boot-starter-logging:jar:2.1.0.BUILD-SNAPSHOT:compile
[INFO]    |  |  +- ch.qos.logback:logback-classic:jar:1.2.3:compile
[INFO]    |  |  |  +- ch.qos.logback:logback-core:jar:1.2.3:compile
[INFO]    |  |  |  \- org.slf4j:slf4j-api:jar:1.7.25:compile
[INFO]    |  |  +- org.apache.logging.log4j:log4j-to-slf4j:jar:2.10.0:compile
[INFO]    |  |  |  \- org.apache.logging.log4j:log4j-api:jar:2.10.0:compile
[INFO]    |  |  \- org.slf4j:jul-to-slf4j:jar:1.7.25:compile
[INFO]    |  +- javax.annotation:javax.annotation-api:jar:1.3.2:compile
[INFO]    |  +- org.springframework:spring-core:jar:5.0.6.RELEASE:compile
[INFO]    |  |  \- org.springframework:spring-jcl:jar:5.0.6.RELEASE:compile
[INFO]    |  \- org.yaml:snakeyaml:jar:1.19:runtime
[INFO]    +- org.springframework.boot:spring-boot-starter-json:jar:2.1.0.BUILD-SNAPSHOT:compile
[INFO]    |  +- com.fasterxml.jackson.core:jackson-databind:jar:2.9.5:compile
[INFO]    |  |  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.9.0:compile
[INFO]    |  |  \- com.fasterxml.jackson.core:jackson-core:jar:2.9.5:compile
[INFO]    |  +- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.9.5:compile
[INFO]    |  +- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.9.5:compile
[INFO]    |  \- com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.9.5:compile
[INFO]    +- org.springframework.boot:spring-boot-starter-tomcat:jar:2.1.0.BUILD-SNAPSHOT:compile
[INFO]    |  +- org.apache.tomcat.embed:tomcat-embed-core:jar:8.5.31:compile
[INFO]    |  +- org.apache.tomcat.embed:tomcat-embed-el:jar:8.5.31:compile
[INFO]    |  \- org.apache.tomcat.embed:tomcat-embed-websocket:jar:8.5.31:compile
[INFO]    +- org.hibernate.validator:hibernate-validator:jar:6.0.9.Final:compile
[INFO]    |  +- javax.validation:validation-api:jar:2.0.1.Final:compile
[INFO]    |  +- org.jboss.logging:jboss-logging:jar:3.3.2.Final:compile
[INFO]    |  \- com.fasterxml:classmate:jar:1.3.4:compile
[INFO]    +- org.springframework:spring-web:jar:5.0.6.RELEASE:compile
[INFO]    |  \- org.springframework:spring-beans:jar:5.0.6.RELEASE:compile
[INFO]    \- org.springframework:spring-webmvc:jar:5.0.6.RELEASE:compile
[INFO]       +- org.springframework:spring-aop:jar:5.0.6.RELEASE:compile
[INFO]       +- org.springframework:spring-context:jar:5.0.6.RELEASE:compile
[INFO]       \- org.springframework:spring-expression:jar:5.0.6.RELEASE:compile
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.453 s
[INFO] Finished at: 2018-05-09T21:53:50-05:00
[INFO] ------------------------------------------------------------------------
iDesperado
Уже с Приветом
Posts: 1422
Joined: 28 Nov 2008 17:50

Re: Hosting for Java Web App

Post by iDesperado »

Montchik wrote: 10 May 2018 04:13 Установил spring-boot, скомпилил пример Hello World with embedded tomcat, запустил джарик, подключил java visual vm. Ну че могу сказать, аппка влет сожрала 120MB RAM
ручки кривые или не туда смотришь. jre 1.8 без ничего сразу должно 124 мб отжирать. с веб сервером и хибером под 200. смысла в облаке эти пару байт экономить нет никакого, все равно даже микро образы идут с 1G
User avatar
valchkou
Уже с Приветом
Posts: 4185
Joined: 27 Apr 2011 03:43
Location: Сергели ->Chicago

Re: Hosting for Java Web App

Post by valchkou »

Montchik wrote: 10 May 2018 04:13 Вот такое maven dependency tree для запуска джарика. В принципе не очень печально с левыми зависимостями. Hibernate validator только непонятно зачем и он еще за собой jboss logging тянет! Зло этот ваш maven, народ с ним расслабился очень, совсем за classpath не следит.
народ не расслабился, народ внимательно следит за класспасс и удаляет оттуда весь ненужный мусор используя exclusions.
если с бутом выгорит советую добавить actuator
эта депенденси добавляет REST API через который можно смотреть много интересной внутренней инфы про жвм, проперти, окружение, и даже логи.
Имеется бесплатная тулза которая визиализирует всю эту служебную инфу
https://github.com/codecentric/spring-boot-admin
User avatar
Montchik
Уже с Приветом
Posts: 2127
Joined: 27 Dec 1999 10:01
Location: Воронеж -> Naperville, IL

Re: Hosting for Java Web App

Post by Montchik »

iDesperado wrote: 10 May 2018 06:17
Montchik wrote: 10 May 2018 04:13 Установил spring-boot, скомпилил пример Hello World with embedded tomcat, запустил джарик, подключил java visual vm. Ну че могу сказать, аппка влет сожрала 120MB RAM
ручки кривые или не туда смотришь. jre 1.8 без ничего сразу должно 124 мб отжирать. с веб сервером и хибером под 200. смысла в облаке эти пару байт экономить нет никакого, все равно даже микро образы идут с 1G
Причем здесь ручки? Я пример с спринг-бута забрал и запустил как в ихнем reference написано, никакой отсебятины. :pain1:

Кстати, 120MB heap usage было до первого minor GC, потом устаканилось на следующем.
Tomcat/Maven:
Heap: 83MB
Meta: 48MB
27 Threads

Не поленился и запустил в cmd следующий HelloWorld,

Code: Select all

package hello;

public class HelloWorld {

    public static void main(String[] args) throws Exception {
        System.out.println("Hello World!");
		while (true){
			Thread.sleep(2000);
		}
    }
}
вот usage stats:
Heap: 9MB
Meta: 800KB
10 threads
OS RAM: 15MB

Ну и где тут "jre 1.8 без ничего сразу должно 124 мб отжирать", мистер специалист по кривым ручкам? :funny:

FYI - how to check jvm heap size params:

Code: Select all

C:\Projects\SpringBootPOC\plain>java -XX:+PrintFlagsFinal -version | findstr HeapSize
    uintx ErgoHeapSizeLimit                         = 0                                   {product}
    uintx HeapSizePerGCThread                       = 87241520                            {product}
    uintx InitialHeapSize                          := 65011712                            {product}
    uintx LargePageHeapSizeThreshold                = 134217728                           {product}
    uintx MaxHeapSize                              := 1040187392                          {product}
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
User avatar
Montchik
Уже с Приветом
Posts: 2127
Joined: 27 Dec 1999 10:01
Location: Воронеж -> Naperville, IL

Re: Hosting for Java Web App

Post by Montchik »

valchkou wrote: 10 May 2018 16:35
Montchik wrote: 10 May 2018 04:13 Вот такое maven dependency tree для запуска джарика. В принципе не очень печально с левыми зависимостями. Hibernate validator только непонятно зачем и он еще за собой jboss logging тянет! Зло этот ваш maven, народ с ним расслабился очень, совсем за classpath не следит.
народ не расслабился, народ внимательно следит за класспасс и удаляет оттуда весь ненужный мусор используя exclusions.
если с бутом выгорит советую добавить actuator
эта депенденси добавляет REST API через который можно смотреть много интересной внутренней инфы про жвм, проперти, окружение, и даже логи.
Имеется бесплатная тулза которая визиализирует всю эту служебную инфу
https://github.com/codecentric/spring-boot-admin
Спасибо, посмотрю. :fr:
User avatar
Montchik
Уже с Приветом
Posts: 2127
Joined: 27 Dec 1999 10:01
Location: Воронеж -> Naperville, IL

Re: Hosting for Java Web App

Post by Montchik »

Запустил спринг бут SampleController пример с помошью gradle и вот что получил:

Tomcat/Gradle:
Heap: 40MB
Meta: 32MB
26 Threads

Какалось бы та же самая аппка только стартуется другим тулом, а хипа жрет в два раза меньше. Парадокс! :-)
User avatar
valchkou
Уже с Приветом
Posts: 4185
Joined: 27 Apr 2011 03:43
Location: Сергели ->Chicago

Re: Hosting for Java Web App

Post by valchkou »

Montchik wrote: 11 May 2018 04:46 Запустил спринг бут SampleController пример с помошью gradle и вот что получил:

Tomcat/Gradle:
Heap: 40MB
Meta: 32MB
26 Threads

Какалось бы та же самая аппка только стартуется другим тулом, а хипа жрет в два раза меньше. Парадокс! :-)
правильней было бы сбилдить жар и запускать его, тогда результат скорее всего будет одинаков. На продакшн ведь жар идет а не тулза
tessob
Уже с Приветом
Posts: 576
Joined: 07 Jan 2016 13:04

Re: Hosting for Java Web App

Post by tessob »

Мне это уже анекдот напоминает ))

Купили как-то суровым сибирским лесорубам японскую бензопилу.
Собрались в кружок лесорубы, решили ее испытать.
Завели ее, подсунули ей деревце.
«Вжик» — сказала японская пила.
«У, бля...» — сказали лесорубы.
Подсунули ей деревце потолще. «Вж-ж-жик!» — сказала пила.
«Ух, бля!» — сказали лесорубы.
Подсунули ей толстенный кедр. «ВЖ-Ж-Ж-Ж-Ж-Ж-Ж-ЖИК!!!» — сказала пила.
«Ух ты, бля!!» — сказали лесорубы.
Подсунули ей железный лом. «КРЯК!» — сказала пила.
«Ага, бля!!!» — укоризненно сказали суровые сибирские лесорубы! И ушли рубить лес топорами…
User avatar
Montchik
Уже с Приветом
Posts: 2127
Joined: 27 Dec 1999 10:01
Location: Воронеж -> Naperville, IL

Re: Hosting for Java Web App

Post by Montchik »

Неплохой бородатый анекдот. А по теме есть че сказать?
tessob
Уже с Приветом
Posts: 576
Joined: 07 Jan 2016 13:04

Re: Hosting for Java Web App

Post by tessob »

По теме. В чем сакральный смысл данных тестов? Spring Boot нацелен на упрощение процесса разработки. Не на супер перфоманс из коробки. Разрабатывать стало реально быстрее и проще. У меня в продакшене уже несколько сотен апок в AWS на бинсталке и в Хероку. Весь web-контент внутри. В некоторых случаях даже JNI либы внутри. Если у меня начинаются проблемы с GC, я просто добавляю еще инстансов и проблемы уходят. Понятно, что это не отменяет оптимизацию, но это точно не то с чего я начинал бы. Просто жизненный цикл софта с каждым годом все короче и короче.
User avatar
Montchik
Уже с Приветом
Posts: 2127
Joined: 27 Dec 1999 10:01
Location: Воронеж -> Naperville, IL

Re: Hosting for Java Web App

Post by Montchik »

valchkou wrote: 11 May 2018 19:01
Montchik wrote: 11 May 2018 04:46 Запустил спринг бут SampleController пример с помошью gradle и вот что получил:

Tomcat/Gradle:
Heap: 40MB
Meta: 32MB
26 Threads

Какалось бы та же самая аппка только стартуется другим тулом, а хипа жрет в два раза меньше. Парадокс! :-)
правильней было бы сбилдить жар и запускать его, тогда результат скорее всего будет одинаков. На продакшн ведь жар идет а не тулза
Логично, но я почему-то думал что тулза просто стартует jvm и запускает в ней jar. Попробую jetty вместо томката для сравнения.
User avatar
Montchik
Уже с Приветом
Posts: 2127
Joined: 27 Dec 1999 10:01
Location: Воронеж -> Naperville, IL

Re: Hosting for Java Web App

Post by Montchik »

tessob wrote: 12 May 2018 07:50 По теме. В чем сакральный смысл данных тестов? Spring Boot нацелен на упрощение процесса разработки. Не на супер перфоманс из коробки. Разрабатывать стало реально быстрее и проще. У меня в продакшене уже несколько сотен апок в AWS на бинсталке и в Хероку. Весь web-контент внутри. В некоторых случаях даже JNI либы внутри. Если у меня начинаются проблемы с GC, я просто добавляю еще инстансов и проблемы уходят. Понятно, что это не отменяет оптимизацию, но это точно не то с чего я начинал бы. Просто жизненный цикл софта с каждым годом все короче и короче.
Спасибо за пояснение. А тест драйвлю я спринг бут чтобы убедиться что это действительно for real, а не очередная глюкавая хрень якобы могущая делать все что надо и под эту тему жрущая ресурсы как не в себя. За хостинг платить придется из собственного кармана.

Горизонтальное скалирование системы не всегда возможно, хотя для веба наверное это не проблема. Не уловил связи межцу укорачиванием жизненного цикла софта и веб хостингом. :pain1:
User avatar
Montchik
Уже с Приветом
Posts: 2127
Joined: 27 Dec 1999 10:01
Location: Воронеж -> Naperville, IL

Re: Hosting for Java Web App

Post by Montchik »

Запустил spring boot hello world под jetty/maven - heap and meta space аппка отъела приблизительно столько же сколько и под embedded tomcat, a вот active threads создала на четветь меньше.

Jetty/Maven:
Heap: 55MB
Meta: 58MB
20 Threads

Судя по maven dependency tree используется eclipse jetty plugin, наверное чтобы было легче с eclipse синтергрироваться. Однако думаю что для продакшн лучше все-таки настоящую embedded jetty пользовать, а не eclipse plugin.

Code: Select all

[INFO] Scanning for projects...
[INFO] 
[INFO] -----------------< net.montchik.springboot.poc:maven >------------------
[INFO] Building maven 0.0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- maven-dependency-plugin:3.0.2:tree (default-cli) @ maven ---
[INFO] net.montchik.springboot.poc:maven:jar:0.0.1-SNAPSHOT
[INFO] +- org.springframework.boot:spring-boot-starter-web:jar:2.1.0.BUILD-SNAPSHOT:compile
[INFO] |  +- org.springframework.boot:spring-boot-starter:jar:2.1.0.BUILD-SNAPSHOT:compile
[INFO] |  |  +- org.springframework.boot:spring-boot:jar:2.1.0.BUILD-SNAPSHOT:compile
[INFO] |  |  +- org.springframework.boot:spring-boot-autoconfigure:jar:2.1.0.BUILD-SNAPSHOT:compile
[INFO] |  |  +- org.springframework.boot:spring-boot-starter-logging:jar:2.1.0.BUILD-SNAPSHOT:compile
[INFO] |  |  |  +- ch.qos.logback:logback-classic:jar:1.2.3:compile
[INFO] |  |  |  |  +- ch.qos.logback:logback-core:jar:1.2.3:compile
[INFO] |  |  |  |  \- org.slf4j:slf4j-api:jar:1.7.25:compile
[INFO] |  |  |  +- org.apache.logging.log4j:log4j-to-slf4j:jar:2.10.0:compile
[INFO] |  |  |  |  \- org.apache.logging.log4j:log4j-api:jar:2.10.0:compile
[INFO] |  |  |  \- org.slf4j:jul-to-slf4j:jar:1.7.25:compile
[INFO] |  |  +- javax.annotation:javax.annotation-api:jar:1.3.2:compile
[INFO] |  |  +- org.springframework:spring-core:jar:5.0.6.RELEASE:compile
[INFO] |  |  |  \- org.springframework:spring-jcl:jar:5.0.6.RELEASE:compile
[INFO] |  |  \- org.yaml:snakeyaml:jar:1.19:runtime
[INFO] |  +- org.springframework.boot:spring-boot-starter-json:jar:2.1.0.BUILD-SNAPSHOT:compile
[INFO] |  |  +- com.fasterxml.jackson.core:jackson-databind:jar:2.9.5:compile
[INFO] |  |  |  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.9.0:compile
[INFO] |  |  |  \- com.fasterxml.jackson.core:jackson-core:jar:2.9.5:compile
[INFO] |  |  +- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.9.5:compile
[INFO] |  |  +- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.9.5:compile
[INFO] |  |  \- com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.9.5:compile
[INFO] |  +- org.hibernate.validator:hibernate-validator:jar:6.0.9.Final:compile
[INFO] |  |  +- javax.validation:validation-api:jar:2.0.1.Final:compile
[INFO] |  |  +- org.jboss.logging:jboss-logging:jar:3.3.2.Final:compile
[INFO] |  |  \- com.fasterxml:classmate:jar:1.3.4:compile
[INFO] |  +- org.springframework:spring-web:jar:5.0.6.RELEASE:compile
[INFO] |  |  \- org.springframework:spring-beans:jar:5.0.6.RELEASE:compile
[INFO] |  \- org.springframework:spring-webmvc:jar:5.0.6.RELEASE:compile
[INFO] |     +- org.springframework:spring-aop:jar:5.0.6.RELEASE:compile
[INFO] |     +- org.springframework:spring-context:jar:5.0.6.RELEASE:compile
[INFO] |     \- org.springframework:spring-expression:jar:5.0.6.RELEASE:compile
[INFO] \- org.springframework.boot:spring-boot-starter-jetty:jar:2.1.0.BUILD-SNAPSHOT:compile
[INFO]    +- org.eclipse.jetty:jetty-servlets:jar:9.4.10.v20180503:compile
[INFO]    |  +- org.eclipse.jetty:jetty-continuation:jar:9.4.10.v20180503:compile
[INFO]    |  +- org.eclipse.jetty:jetty-http:jar:9.4.10.v20180503:compile
[INFO]    |  +- org.eclipse.jetty:jetty-util:jar:9.4.10.v20180503:compile
[INFO]    |  \- org.eclipse.jetty:jetty-io:jar:9.4.10.v20180503:compile
[INFO]    +- org.eclipse.jetty:jetty-webapp:jar:9.4.10.v20180503:compile
[INFO]    |  +- org.eclipse.jetty:jetty-xml:jar:9.4.10.v20180503:compile
[INFO]    |  \- org.eclipse.jetty:jetty-servlet:jar:9.4.10.v20180503:compile
[INFO]    |     \- org.eclipse.jetty:jetty-security:jar:9.4.10.v20180503:compile
[INFO]    |        \- org.eclipse.jetty:jetty-server:jar:9.4.10.v20180503:compile
[INFO]    +- org.eclipse.jetty.websocket:websocket-server:jar:9.4.10.v20180503:compile
[INFO]    |  +- org.eclipse.jetty.websocket:websocket-common:jar:9.4.10.v20180503:compile
[INFO]    |  |  \- org.eclipse.jetty.websocket:websocket-api:jar:9.4.10.v20180503:compile
[INFO]    |  +- org.eclipse.jetty.websocket:websocket-client:jar:9.4.10.v20180503:compile
[INFO]    |  |  \- org.eclipse.jetty:jetty-client:jar:9.4.10.v20180503:compile
[INFO]    |  \- org.eclipse.jetty.websocket:websocket-servlet:jar:9.4.10.v20180503:compile
[INFO]    |     \- javax.servlet:javax.servlet-api:jar:3.1.0:compile
[INFO]    +- org.eclipse.jetty.websocket:javax-websocket-server-impl:jar:9.4.10.v20180503:compile
[INFO]    |  +- org.eclipse.jetty:jetty-annotations:jar:9.4.10.v20180503:compile
[INFO]    |  |  +- org.eclipse.jetty:jetty-plus:jar:9.4.10.v20180503:compile
[INFO]    |  |  +- org.ow2.asm:asm:jar:6.1.1:compile
[INFO]    |  |  \- org.ow2.asm:asm-commons:jar:6.1.1:compile
[INFO]    |  |     +- org.ow2.asm:asm-tree:jar:6.1.1:compile
[INFO]    |  |     \- org.ow2.asm:asm-analysis:jar:6.1.1:compile
[INFO]    |  +- org.eclipse.jetty.websocket:javax-websocket-client-impl:jar:9.4.10.v20180503:compile
[INFO]    |  \- javax.websocket:javax.websocket-api:jar:1.0:compile
[INFO]    \- org.mortbay.jasper:apache-el:jar:8.5.24.2:compile
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.081 s
[INFO] Finished at: 2018-05-14T22:01:40-05:00
[INFO] ------------------------------------------------------------------------
User avatar
valchkou
Уже с Приветом
Posts: 4185
Joined: 27 Apr 2011 03:43
Location: Сергели ->Chicago

Re: Hosting for Java Web App

Post by valchkou »

Montchik wrote: 16 May 2018 03:20 Судя по maven dependency tree используется eclipse jetty plugin, наверное чтобы было легче с eclipse синтергрироваться. Однако думаю что для продакшн лучше все-таки настоящую embedded jetty пользовать, а не eclipse plugin.
eclipse jetty это не плагин, это и есть она самая настоящая
The Jetty project has been hosted at the Eclipse Foundation since 2009
https://www.eclipse.org/jetty/

не нравится жетти, попробуй нетти
keyword: spring-boot-starter-reactor-netty
User avatar
Montchik
Уже с Приветом
Posts: 2127
Joined: 27 Dec 1999 10:01
Location: Воронеж -> Naperville, IL

Re: Hosting for Java Web App

Post by Montchik »

Ok

Return to “Вопросы и новости IT”