Я в процессе миграции веб-приложения Seam 2.3 в EE7. В настоящее время приложение работает на Wildfly 8.2 (версия Bill of Materials всех зависимостей) и работает отлично, за исключением проблемы с производительностью: страницы занимают минуты, чтобы загрузить или никогда не делать.Полностью отключить интеграцию JSF Weld в Wildfly 8.2
Отображается Сварка/CDI. WeldApplication добавляется где-то к цепочке приложений лиц, что приводит к постоянным неудачным попыткам решения BeanManager, а иногда и к проблемам с блокировкой потоков.
Я пробовал вычистить модуль сварки из дикой природы или запустить с включенным модулем сварки, но настроен на требуемый bean-дескриптор. Мой проект не содержит beans.xml.
Возможно ли предотвратить добавление WeldApplication в цепочку приложений лиц?. По крайней мере, пока я не нахожусь на этапе миграции, чтобы избавиться от Сима.
Обходное решение: Моя текущая работа - это немного взломать, но, похоже, делает трюк. Я добавил свой собственный ApplicationFactory для faces-config.xml, который в основном обходит WeldApplication.
@Override
public Application getApplication() {
return new MyApplication(delegate.getWrapped().getApplication());
}
Edit # 1: Стек трассировки с проблемой производительности точки доступа, чтобы дать некоторый контекст.
javax.naming.NameNotFoundException: BeanManager -- service jboss.naming.context.java.module.make.make.BeanManager
Exception 'javax.naming.NameNotFoundException' occurred in thread 'DefaultQuartzScheduler_Worker-1' at org.jboss.as.naming.InitialContext$DefaultInitialContext.findContext(InitialContext.java:187)
at org.jboss.as.naming.ServiceBasedNamingStore.lookup(ServiceBasedNamingStore.java:104)
at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:202)
at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:179)
at org.jboss.as.naming.InitialContext$DefaultInitialContext.lookup(InitialContext.java:235)
at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:188)
at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:184)
at javax.naming.InitialContext.lookup(InitialContext.java:417)
at javax.naming.InitialContext.lookup(InitialContext.java:417)
at org.jboss.as.jsf.injection.weld.WeldApplication.beanManager(WeldApplication.java:105)
- locked (a org.jboss.as.jsf.injection.weld.WeldApplication)
at org.jboss.as.jsf.injection.weld.WeldApplication.init(WeldApplication.java:63)
at org.jboss.as.jsf.injection.weld.WeldApplication.delegate(WeldApplication.java:75)
at org.jboss.as.jsf.injection.weld.ForwardingApplication.getResourceHandler(ForwardingApplication.java:262)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:640)
at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:130)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
at org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:73)
at nl.artefact.profiling.ProfilingFilter.doFilter(ProfilingFilter.java:30)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:73)
at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at nl.artefact.profiling.TimingFilter.doFilter(TimingFilter.java:35)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.HotDeployFilter.doFilter(HotDeployFilter.java:53)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132)
at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:85)
at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:61)
at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:56)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.security.handlers.AuthenticationConstraintHandler.handleRequest(AuthenticationConstraintHandler.java:51)
at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:45)
at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:63)
at io.undertow.servlet.handlers.security.ServletSecurityConstraintHandler.handleRequest(ServletSecurityConstraintHandler.java:56)
at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58)
at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:70)
at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:261)
at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:247)
at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:76)
at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:166)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:197)
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:759)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Очень жаль, что вы Ждут» t показывает трассировку стека, поэтому подробный ответ не может быть задан. По крайней мере, аналогичная проблема была доведена до OmniFaces. Попробуйте заменить 'WeldApplication' на один показан [здесь] (https://github.com/omnifaces/omnifaces/issues/75#issuecomment-65004140). – BalusC
Спасибо BalusC! Я могу добавить трассировку стека для ясности вопроса, что конкретно? Из этого не удается решить BeanManager? –
Только первая причина. Другие могут быть просто последствиями, которые могут исчезнуть автоматически после устранения основной причины. – BalusC