2014-11-22 4 views
8

Когда я запускаю мое приложение jhipster с помощью «МВН весна-загрузки: запуск», это занимает до 60 секунд, чтобы начать ... Первая часть моего сруба:весна-загрузки медленно, чтобы начать

[INFO] Scanning for projects... 
[INFO] 
[INFO] ------------------------------------------------------------------------ 
[INFO] Building jhipster 0.0.1-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] >>> spring-boot-maven-plugin:1.1.9.RELEASE:run (default-cli) @ jhipster >>> 
[INFO] 
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (enforce-versions) @ jhipster --- 
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ jhipster --- 
[INFO] Using 'UTF-8' encoding to copy filtered resources. 
[INFO] Copying 4 resources 
[INFO] Copying 22 resources 
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ jhipster --- 
[INFO] Nothing to compile - all classes are up to date 
[INFO] 
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ jhipster --- 
[INFO] Using 'UTF-8' encoding to copy filtered resources. 
[INFO] Copying 3 resources 
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ jhipster --- 
[INFO] Nothing to compile - all classes are up to date 
[INFO] 
[INFO] <<< spring-boot-maven-plugin:1.1.9.RELEASE:run (default-cli) @ jhipster <<< 
[INFO] 
[INFO] --- spring-boot-maven-plugin:1.1.9.RELEASE:run (default-cli) @ jhipster --- 
[INFO] Attaching agents: [] 
Listening for transport dt_socket at address: 5005 

-> Затем он висит около 30 секунд, прежде чем продолжить:

[INFO] com.mycompany.myapp.Application - Starting Application on MacBook-Pro.local with PID 5130 (/Users/othomas/Developpement/jhipster-1.9.0/target/classes started by othomas in /Users/othomas/Developpement/jhipster-1.9.0) 
[DEBUG] com.mycompany.myapp.Application - Running with Spring Boot v1.1.9.RELEASE, Spring v4.0.8.RELEASE 
[DEBUG] org.jboss.logging - Logging Provider: org.jboss.logging.Log4jLoggerProvider 

...

я помню, использовал старые версии jhipster генератора (0,17 и т.д.) и др началось в 15-20 секунд. Это нормально или есть проблема на моей стороне? Где искать?

Спасибо, О.

ответ

0

Это странно. Действительно, он должен начинаться через 5-15 секунд в зависимости от вашего устройства и конкретной настройки. Но он не должен висеть в течение 30 секунд: строка, которую вы показываете, немного новая, потому что мы запускаем приложение в режиме отладки при использовании профиля dev -> вы можете прикрепить к нему отладчик. Похоже, он ждет, когда вы подключите отладчик: я никогда не видел его сам, поэтому, возможно, у вас есть определенная опция JVM для установки отладчика при запуске с тайм-аутом в 30 секунд?

+0

Только 30 секунд! :( [INFO] org.myapp.Application - запущенное приложение за 230.105 секунд (JVM работает для 230.971) –

+0

Это заставляет меня зацикливаться. Он зависает после этой строки аудита, но когда я его удалял, пауза была на линии раньше. как и 90-е, и отлаживать как 230 с +. Я пробовал все здесь http://stackoverflow.com/questions/11371393/tomcat-not-starting-through-eclipse-timeout plus Я поднял доступную память для затмения. идеи. –

+0

Я написал свои выводы в ответ. Короткий ответ - это, по сути, болтовня! –

0

Благодарим Вас за отзыв. Я исследовал и добавил больше журналов в приложение (Application.java). На самом деле проблема не возникает из режима отладки, приложение не зависает здесь.

Первая большая «пауза» происходит от сканирования пакетов Liquibase (addLiquibaseScanPackages(), в Application.java): 26 секунд! Моя вторая пауза по-прежнему связана с Liquibase (журнал «Настройка Liquibase»): 20 секунд. В течение этого времени, если я установил уровень журнала Liquibase в DEBUG, я вижу, что блокировка установлена ​​и затем отпущена, но это происходит очень быстро.

Я действительно не понимаю. Я использую h2 в базе данных, jdk 1.7.0_25 и Maven 3.0.5, работающих на MacBook Pro с SSD. Вот мой полный журнал, когда я запускаю «mvn spring-boot: run».

[INFO] Scanning for projects... 
[INFO] 
[INFO] ------------------------------------------------------------------------ 
[INFO] Building jhipster 0.0.1-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] >>> spring-boot-maven-plugin:1.1.9.RELEASE:run (default-cli) @ jhipster >>> 
[INFO] 
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (enforce-versions) @ jhipster --- 
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ jhipster --- 
[INFO] Using 'UTF-8' encoding to copy filtered resources. 
[INFO] Copying 4 resources 
[INFO] Copying 22 resources 
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ jhipster --- 
[INFO] Nothing to compile - all classes are up to date 
[INFO] 
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ jhipster --- 
[INFO] Using 'UTF-8' encoding to copy filtered resources. 
[INFO] Copying 3 resources 
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ jhipster --- 
[INFO] Nothing to compile - all classes are up to date 
[INFO] 
[INFO] <<< spring-boot-maven-plugin:1.1.9.RELEASE:run (default-cli) @ jhipster <<< 
[INFO] 
[INFO] --- spring-boot-maven-plugin:1.1.9.RELEASE:run (default-cli) @ jhipster --- 
[INFO] Attaching agents: [] 
Listening for transport dt_socket at address: 5005 
Wed Nov 26 16:32:23 CET 2014 Added log : Application is about to start 
Wed Nov 26 16:32:28 CET 2014Added log : Application started, now we set banner to false 
Wed Nov 26 16:32:28 CET 2014Added log : About to add Default profile 
Wed Nov 26 16:32:28 CET 2014Added log : Default Profile added. Now we scan liquibase packages 
Wed Nov 26 16:32:28 CET 2014Added log : Liquibase pakages scanned. Now we run the app 
2014-11-26 16:32:54,564 [INFO] com.mycompany.myapp.Application - Starting Application on MacBook-Pro.local with PID 25452 (/Users/othomas/Developpement/jhipster-1.9.0/target/classes started by othomas in /Users/othomas/Developpement/jhipster-1.9.0) 
2014-11-26 16:32:54,567 [DEBUG] com.mycompany.myapp.Application - Running with Spring Boot v1.1.9.RELEASE, Spring v4.0.8.RELEASE 
2014-11-26 16:32:57,429 [DEBUG] org.jboss.logging - Logging Provider: org.jboss.logging.Log4jLoggerProvider 
2014-11-26 16:32:57,559 [DEBUG] com.mycompany.myapp.config.AsyncConfiguration - Creating Async Task Executor 
2014-11-26 16:32:58,305 [DEBUG] com.mycompany.myapp.config.MetricsConfiguration - Registering JVM gauges 
2014-11-26 16:32:58,379 [INFO] com.mycompany.myapp.config.MetricsConfiguration - Initializing Metrics JMX reporting 
2014-11-26 16:32:58,445 [DEBUG] com.mycompany.myapp.config.DatabaseConfiguration - Configuring Datasource 
2014-11-26 16:32:59,353 [DEBUG] com.mycompany.myapp.config.DatabaseConfiguration - Configuring Liquibase 
2014-11-26 16:33:19,489 [DEBUG] com.mycompany.myapp.config.CacheConfiguration - Starting Ehcache 
2014-11-26 16:33:19,491 [DEBUG] com.mycompany.myapp.config.CacheConfiguration - Registering Ehcache Metrics gauges 
2014-11-26 16:33:23,419 [DEBUG] com.mycompany.myapp.config.MailConfiguration - Configuring mail server 
2014-11-26 16:33:24,559 [INFO] com.mycompany.myapp.config.WebConfigurer - Web application configuration, using profiles: [dev] 
2014-11-26 16:33:24,560 [DEBUG] com.mycompany.myapp.config.WebConfigurer - Initializing Metrics registries 
2014-11-26 16:33:24,564 [DEBUG] com.mycompany.myapp.config.WebConfigurer - Registering Metrics Filter 
2014-11-26 16:33:24,565 [DEBUG] com.mycompany.myapp.config.WebConfigurer - Registering Metrics Servlet 
2014-11-26 16:33:24,567 [DEBUG] com.mycompany.myapp.config.WebConfigurer - Registering GZip Filter 
2014-11-26 16:33:24,569 [DEBUG] com.mycompany.myapp.config.WebConfigurer - Initialize H2 console 
2014-11-26 16:33:24,570 [INFO] com.mycompany.myapp.config.WebConfigurer - Web application fully configured 
2014-11-26 16:33:29,753 [INFO] com.mycompany.myapp.Application - Running with Spring profile(s) : [dev] 
2014-11-26 16:33:30,012 [INFO] com.mycompany.myapp.config.ThymeleafConfiguration - loading non-reloadable mail messages resources 
2014-11-26 16:33:30,896 [DEBUG] com.mycompany.myapp.aop.logging.LoggingAspect - Enter: com.mycompany.myapp.repository.CustomAuditEventRepository.auditEventRepository() with argument[s] = [] 
2014-11-26 16:33:30,905 [DEBUG] com.mycompany.myapp.aop.logging.LoggingAspect - Exit: com.mycompany.myapp.repository.CustomAuditEventRepository.auditEventRepository() with result = [email protected]e963 
2014-11-26 16:33:37,229 [INFO] com.mycompany.myapp.Application - Started Application in 68.311 seconds (JVM running for 73.972) 
Wed Nov 26 16:33:37 CET 2014Added log : App is running 

Спасибо, Оливье

4

Я страдал медленное время запуска себя и интересно, что причиной была. Я получаю все сообщения консоли, говорящие, что начались разные вещи, а затем он зависает перед окончательным сообщением, чтобы сказать, что приложение загрузилось.

В конце концов я обнаружил, что могу использовать Java VisualVM как часть JDK, чтобы узнать, что происходит. Если у вас установлен jdk файл jvisualvm.exe в папке bin. Затем, когда я выбираю debug как Application.java, вызывается процесс tomcat, и вы можете отслеживать, что происходит.

Я взял пару дампов потоков, где он висит, и всегда казалось, что создаются документы API Swagger API. Немного больше копания, и это настроено в классе MetricsConfiguration, который исключается, если вы запускаете профиль с именем «fast».

В затмении я редактировал мою конфигурацию отладки включить программу аргумент:

--spring.profiles.active=dev,fast 

Это сокращает время запуска от 230 секунд до 25 раз!

У меня было быстрое сканирование и, похоже, было отключено всевозможные вещи. В основном это похоже на материал в меню администратора, который вам, вероятно, не понадобится во время разработки. Лично я бы предпочел быструю загрузку, чтобы иметь возможность видеть остальные документы во время разработки.

Swagger, будучи таким свиньем, заставило меня задуматься, действительно ли это такая хорошая идея. Стоит ли это стоить? Затем я прочитал это http://java.dzone.com/articles/swagger-great, и я рассматриваю возможность просто удалить его. Это хорошая идея, но, похоже, добавляет 33 мб к сборке +, потому что для меня было очень медленное время запуска.

Для информации у меня около 16 объектов. Так что не маленький, но не слишком большой.

0

вы можете просто изменить Xmx как Java -jar -Xmx1024m. Потому что, когда началась весенняя ботинок, он загружает множество весенних бобов. Вы можете добавить память кучи, чтобы улучшить ее производительность.

0

Убедитесь, что вы не используете сервер в режиме отладки и установите контрольную точку. Это уменьшило время запуска одного из моих приложений с 22 секунд до 3 минут.

+0

Отличная скорость, вы просто потеряли 158 секунд. –

Смежные вопросы