Mac OS X: Yosemite 10.10.5
До недавнего времени я использую:Glassfish/скумбриевидный гидролик: почему может развертывание большого веб-приложения для Glassfish-4.1.1 (или скумбриевидный гидролик сервер 4.1.1.163) не принимают в 5 раз больше, чем Glassfish-4.1
NetBeans8.1beta
Glassfish4.1
Mojarra 2.2.7
Я недавно исследовали с помощью:
NetBeans8.1
Glassfish4.1.1
Mojarra 2.2.12.
с очень большой JSF веб-приложение (с ObjectDB как JPA поставщика сохраняемости) я испытываю массивно раза больше развертывания для Glassfish4.1.1 (более 10 минут), чем пожаловать в Glassfish 4.1 (около 2 минут). Это примерно в 5 раз медленнее.
[EDIT: 2016-09-13 Пробовал с скумбриевидный гидролик 163 Full (скумбриевидный гидролик сервера 4.1.1.163), и потребовалось более 20 минут, даже медленнее, чем на Glassfish4.1.1, с почти идентичной установки]
Я не могу воспроизвести здесь или представить примеры большого веб-приложения.
Q1: Кто-нибудь испытывал какие-либо подобное различие между Glassfish-4,1 и Glassfish-4.1.1 [EDIT: ИЛИ скумбриевидный гидролик сервера 4.1.1.163], и где я мог бы я искать точки разница?
(я уже пытаюсь исследовать его с помощью Profiler NetBeans, но не оказываясь так легко, но, чтобы найти причину.)
[EDIT: 2016-09 -15 временные тесты]
Я проверил тщательное сравнение по сторонам, используя запись в режиме скринкаста и сравнивая с таймингами в журнале.
В Payara41 (4.1.1.163) и Glassfish4.1.1 он «застревает», как показано ниже, в течение примерно 10 минут, и я не нашел никаких настроек журнала, которые дают здесь одну строку вывода, где возникает проблема, и запуск сервера в режиме DEBUG также не дает никакой дополнительной информации.
[2016-09-14T23:02:53.450+1000] [Payara 4.1] [INFO] [NCLS-LOGGING-00009] [javax.enterprise.logging] [tid: _ThreadID=19 _ThreadName=RunLevelControllerThread-1473858173343] [timeMillis: 1473858173450] [levelValue: 800] [[
Running Payara Version: Payara Server 4.1.1.163 #badassfish (build 215)]]
... работает нормально, через все шаги, а затем через десятки этих EJB JNDI деклараций имя:
[2016-09-14T23:03:48.823+1000] [Payara 4.1] [INFO] [AS-EJB-00054] [javax.enterprise.ejb.container] [tid: _ThreadID=74 _ThreadName=admin-thread-pool(2)] [timeMillis: 1473858228823] [levelValue: 800] [[
Portable JNDI names for EJB BeanName: [java:global/app-name/BeanName!com.example.BeanName, java:global/app-name/BeanName]]]
дает эту WELD версия сообщение:
[2016-09-14T23:03:48.875+1000] [Payara 4.1] [INFO] [] [org.jboss.weld.Version] [tid: _ThreadID=74 _ThreadName=admin-thread-pool(2)] [timeMillis: 1473858228875] [levelValue: 800] [[
WELD-000900: 2.3.5 (Final)]]
... потом занимает около 8 секунд до этого сообщения.
[2016-09-14T23:03:56.666+1000] [Payara 4.1] [INFO] [] [org.jboss.weld.Event] [tid: _ThreadID=74 _ThreadName=admin-thread-pool(2)] [timeMillis: 1473858236666] [levelValue: 800] [[
WELD-000411: Observer method [BackedAnnotatedMethod] private org.glassfish.jersey.ext.cdi1x.internal.CdiComponentProvider.processAnnotatedType(@Observes ProcessAnnotatedType) receives events for all annotated types. Consider restricting events using @WithAnnotations or a generic type with bounds.]]
... Затем возьмите много минут (обычно около 10 минут) перед возобновлением этих иначе безвредные предупреждения ..
[2016-09-14T23:11:33.387+1000] [Payara 4.1] [INFO] [] [org.jboss.weld.Bootstrap] [tid: _ThreadID=74 _ThreadName=admin-thread-pool(2)] [timeMillis: 1473858693387] [levelValue: 800] [[
WELD-001125: Illegal bean type java.util.Comparator<javax.persistence.metamodel.EntityType<?>> ignored on [EnhancedAnnotatedTypeImpl] public static class com.example.ElementManager$EntityTypeSorter]]
[2016-09-14T23:11:59.736+1000] [Payara 4.1] [WARNING] [] [org.glassfish.jersey.internal.Errors] [tid: _ThreadID=74 _ThreadName=admin-thread-pool(2)] [timeMillis: 1473858719736] [levelValue: 900] [[
The following warnings have been detected: WARNING: Parameter 1 of type T from public void com.example.NumberProperty.setDefaultValue(T) is not resolvable to a concrete type.
]]
Подобные предупреждающие сообщения происходят в журнале Glassfish4.1, но нет длительной паузы/удержания.
Q2: Что еще я могу сделать, чтобы узнать, почему он приостанавливается/останавливается там целую вечность?
Попробуйте установить регистрацию сервера для отладки в первую очередь и проверить/сравнить тайминги – Kukeltje
Я не вижу ничего, что связано с JSF в информации о регистрации/времени в вашем вопросе. – Kukeltje
@ Kukeltje В момент, когда недавняя диагностика времени (теперь включена в вопрос) показывает, что он «застрял» или «киосков», JSF действительно не подходит, я удалю тег JSF. –