2015-09-19 2 views
0

У меня есть стандартное приложение Java EE, которое я развертывал в WAS Liberty 8.5.5.5, но поскольку Liberty 8.5.5.6 представила поддержку Java EE 7, я решил выгрузите код.Огромная разница в загрузке между WebSphere Liberty 8.5.5.5 и 8.5.5.6+

Мне не нужно было вводить какие-либо изменения кода, чтобы развернуть проект в Liberty 8.5.5.6 с помощью функции WebProfile 7.0. В проекте используются JSF 2.0+, JPA 2.0+, EJB 3.1+.

Мой вопрос в том, почему большая разница во времени запуска? Раньше одно и то же приложение начиналось примерно через 12 секунд в 8.5.5.5, но теперь в 8.5.5.6+ ему требуется 50 секунд.

Примечание: Я использую Oracles JDK 1.8.0_45.

Console Log для 8.5.5.5

Launching vamsServer (WebSphere Application Server 8.5.5.5/wlp-1.0.8.cl50520150221-0034) on Java HotSpot(TM) Client VM, version 1.8.0_45-b15 (en_US) 
[AUDIT ] CWWKE0001I: The server vamsServer has been launched. 
[AUDIT ] CWWKE0100I: This product is licensed for development and limited production use. The full license terms can be viewed here: https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/license/base_ilan/ilan/8.5.5.5/lafiles/en.html 
[INFO ] TRAS0018I: The trace state has been changed. The new trace state is *=audit. 
[AUDIT ] CWWKZ0058I: Monitoring dropins for applications. 
[WARNING ] DSRA0174W: Warning: GenericDataStoreHelper is being used. 
04:03:55.179 [Default Executor-thread-2] INFO org.springframework.data.jpa.repository.cdi.JpaRepositoryExtension - Activating CDI extension for Spring Data JPA repositories. 
04:03:55.349 [Default Executor-thread-2] INFO org.springframework.data.jpa.repository.cdi.JpaRepositoryExtension - Activating CDI extension for Spring Data JPA repositories. 
[AUDIT ] CWWKT0016I: Web application available (default_host): http://localhost:9080/vams-web/ 
[AUDIT ] CWWKZ0001I: Application vams started in 12.187 seconds. 
[AUDIT ] CWWKF0012I: The server installed the following features: [jsf-2.0, ejbLite-3.1, jsp-2.2, managedBeans-1.0, servlet-3.0, ssl-1.0, jndi-1.0, cdi-1.0, localConnector-1.0, jdbc-4.0, appSecurity-2.0, jaxrs-1.1, json-1.0, webProfile-6.0, distributedMap-1.0, beanValidation-1.0, jpa-2.0]. 
[AUDIT ] CWWKF0011I: The server vamsServer is ready to run a smarter planet. 

Console Log для 8.5.5.6

Launching defaultServer (WebSphere Application Server 8.5.5.6/wlp-1.0.9.cl50620150610-1749) on Java HotSpot(TM) Client VM, version 1.8.0_45-b15 (en_US) 
[AUDIT ] CWWKE0001I: The server defaultServer has been launched. 
[AUDIT ] CWWKE0100I: This product is licensed for development, and limited production use. The full license terms can be viewed here: https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/license/base_ilan/ilan/8.5.5.6/lafiles/en.html 
[INFO ] CWWKE0002I: The kernel started after 1.485 seconds 
[INFO ] CWWKF0007I: Feature update started. 
[INFO ] CWWKS0007I: The security service is starting... 
[AUDIT ] CWWKZ0058I: Monitoring dropins for applications. 
[INFO ] CWWKO0219I: TCP Channel defaultHttpEndpoint has been started and is now listening for requests on host localhost (IPv4: 127.0.0.1) port 9081. 
[INFO ] CWWKS4105I: LTPA configuration is ready after 0.219 seconds. 
[INFO ] DYNA1001I: WebSphere Dynamic Cache instance named baseCache initialized successfully. 
[INFO ] DYNA1071I: The cache provider default is being used. 
[INFO ] DYNA1056I: Dynamic Cache (object cache) initialized successfully. 
[INFO ] CWWKZ0018I: Starting application labtracker. 
[INFO ] CWWJP9990I: Detected server platform: org.eclipse.persistence.platform.server.was.WebSphere_Liberty_Platform. 
[INFO ] CWWJP9990I: EclipseLink, version: Eclipse Persistence Services - 2.6.0.WAS-v20150513-26196d2 
[INFO ] CWWJP9990I: Not able to detect platform for vendor name [Generic Component Context DataSource0Generic Component Context DataSource : jdbc/labtracker-db]. Defaulting to [org.eclipse.persistence.platform.database.DatabasePlatform]. The database dialect used may not match with the database you are using. Please explicitly provide a platform using property "eclipselink.target-database". 
[INFO ] WELD-000900: SNAPSHOT 
[AUDIT ] CWWKZ0022W: Application labtracker has not started in 29.953 seconds. 
[AUDIT ] CWWKF0012I: The server installed the following features: [jsp-2.3, ejbLite-3.2, managedBeans-1.0, jsf-2.2, beanValidation-1.1, servlet-3.1, ssl-1.0, jndi-1.0, jsonp-1.0, appSecurity-2.0, jdbc-4.1, jaxrs-2.0, javaMail-1.5, jaxrsClient-2.0, el-3.0, json-1.0, cdi-1.2, distributedMap-1.0, webProfile-7.0, websocket-1.1, jpa-2.1]. 
[INFO ] CWWKF0008I: Feature update completed in 33.496 seconds. 
[AUDIT ] CWWKF0011I: The server defaultServer is ready to run a smarter planet. 
05:11:32.977 [Default Executor-thread-13] INFO org.springframework.data.jpa.repository.cdi.JpaRepositoryExtension - Activating CDI extension for Spring Data JPA repositories. 
[WARNING ] WELD-000411: Observer method [BackedAnnotatedMethod] public org.omnifaces.VetoAnnotatedTypeExtension.processAnnotatedType(@Observes ProcessAnnotatedType<Object>) receives events for all annotated types. Consider restricting events using @WithAnnotations or a generic type with bounds. 
[WARNING ] WELD-000411: Observer method [BackedAnnotatedMethod] public com.ibm.ws.beanvalidation.v11.cdi.internal.ValidationExtension.processAnnotatedType(@Observes ProcessAnnotatedType<Object>, BeanManager) receives events for all annotated types. Consider restricting events using @WithAnnotations or a generic type with bounds. 
[WARNING ] WELD-000411: Observer method [BackedAnnotatedMethod] private com.ibm.ws.beanvalidation.v11.cdi.internal.ValidationExtension.internalProcessAnnotatedType(@Observes ProcessAnnotatedType<Object>) receives events for all annotated types. Consider restricting events using @WithAnnotations or a generic type with bounds. 
[WARNING ] WELD-000411: Observer method [BackedAnnotatedMethod] protected org.springframework.data.repository.cdi.CdiRepositoryExtensionSupport.processAnnotatedType(@Observes ProcessAnnotatedType<Object>) receives events for all annotated types. Consider restricting events using @WithAnnotations or a generic type with bounds. 
[INFO ] CNTR4000I: The labtracker.war EJB module in the labtracker application is starting. 
[INFO ] CNTR0167I: The server is binding the au.com.ibm.labtracker.service.impl.UserSvc interface of the UserSvc enterprise bean in the labtracker.war module of the labtracker application. The binding location is: java:global/labtracker/UserSvc!au.com.ibm.labtracker.service.impl.UserSvc 
[INFO ] CNTR0167I: The server is binding the au.com.ibm.labtracker.service.IUserSvc interface of the UserSvc enterprise bean in the labtracker.war module of the labtracker application. The binding location is: java:global/labtracker/UserSvc!au.com.ibm.labtracker.service.IUserSvc 
[INFO ] CNTR4001I: The labtracker.war EJB module in the labtracker application has started successfully. 
[INFO ] SRVE0169I: Loading Web Module: labtracker. 
[INFO ] SRVE0250I: Web Module labtracker has been bound to default_host. 
[AUDIT ] CWWKT0016I: Web application available (default_host): http://localhost:9081/labtracker/ 
[AUDIT ] CWWKZ0001I: Application labtracker started in 50.783 seconds. 
+1

Я не знаю, почему webProfile-7,0 является то, что гораздо медленнее, но моим Первое предположение было бы CDI: в EE 6 CDI отключен по умолчанию, но в EE 7 он включен по умолчанию, что означает, что все ваши приложения должны сканироваться для аннотаций. Функции webProfile предназначены для удобства, но если вам действительно не нужны все возможности, я настоятельно рекомендую заменить его на подмножество функций, которые вам действительно нужны. –

+2

Bkail прав, если вам не нужны возможности JavaEE 7, вы должны придерживаться функций JavaEE 6. CDI в EE 7 требует гораздо большего сканирования, которое нужно делать, что замедляет работу. Мы работаем над улучшением производительности, и последняя бета-версия должна работать лучше. – Alasdair

+0

Привет, Alasdair спасибо, что ответили ... на самом деле не покупают «не использовать, если вам не нужен этот аргумент» :)? По большей части мне не нужны функции Java EE 7, но мне больше 2 лет, поэтому я хочу начать использовать ее. Есть ли способ оптимизировать сканирование. Знает ли свобода это -> http://www-01.ibm.ком/поддержка/knowledgecenter/SSAW57_8.0.0/com.ibm.websphere.nd.doc/Информация/ае/ае/trun_app_reduce_annot.html –

ответ

0

Интересно, что замедление связано с EclipseLink каким-то образом. Обратите внимание, что функция jpa-2.0 использует Open JPA в качестве основного поставщика JPA, в то время как jpa-2.1 использует EclipseLink.

Похоже, что прошедшие время сообщения совпадают с сообщениями в консольных журналах (хотя это ничего не доказывает). И я не эксперт, но мне интересно, если сообщение:

CWWJP9990I: Не удалось обнаружить платформу для имени поставщика ...

может коррелировать с замедлением.

Поскольку вы не можете использовать функцию webProfile-7.0 (включая jpa-2.1) вместе с jpa-2.0, что, к сожалению, оставляет вас или придерживаться функций уровня EE 6 или углубляться в понимание замедления.

Нельзя сказать, что не было различий, связанных с CDI. Тем не менее, похоже, что ваше приложение действительно использует аннотации CDI, поэтому вы, вероятно, не сможете полностью отключить его.

0

Update Если вы добавляете следующий XML в вашу свободу server.xml вы должны увидеть значительное улучшение во время запуска

<cdi12 enableImplicitBeanArchives="false"/> 
Смежные вопросы