]
James Perkins commented on WFLY-10655:
--------------------------------------
It looks like, in {{clusterbench-ee7-bugged.ear}}, the {{b.war}} has a dependency on JSF.
Specifically it uses the JSF servlet which activates JSF for the WAR. Since the JSF
implementation has extensions the {{ViewScopeExtension}} and {{FlowCDIExtension}}
extensions are loaded. Weld services are only started on top level deployments, the EAR is
used instead of {{b.war}} to start the Weld services. This means JSF can't find the
{{CDIUtil}} implementation as it's using the EAR's class loader.
Adding the JSF API and implementation modules to the EAR fixes this, however this also
seems to mean that JSF needs to be added for a dependency on all sub-deployments as well.
The following error is thrown/logged when the JSF API and implementation are added to the
EAR
{code}
15:40:13,273 SEVERE [javax.enterprise.resource.webcontainer.jsf.config] (ServerService
Thread Pool -- 23) Critical error during deployment: :
com.sun.faces.config.ConfigurationException: Factory
'javax.faces.application.ApplicationFactory' was not configured properly.
at
com.sun.faces.config.processor.FactoryConfigProcessor.verifyFactoriesExist(FactoryConfigProcessor.java:357)
at
com.sun.faces.config.processor.FactoryConfigProcessor.process(FactoryConfigProcessor.java:243)
at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:443)
at
com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:237)
at
io.undertow.servlet.core.ApplicationListeners.contextInitialized(ApplicationListeners.java:187)
at
io.undertow.servlet.core.DeploymentManagerImpl$1.call(DeploymentManagerImpl.java:216)
at
io.undertow.servlet.core.DeploymentManagerImpl$1.call(DeploymentManagerImpl.java:185)
at
io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:42)
at
io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
at
org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105)
at
org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
at
org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
at
org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
at
org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
at
io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:250)
at
org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:96)
at
org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:78)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at
org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985)
at
org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487)
at
org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1378)
at java.lang.Thread.run(Thread.java:748)
at org.jboss.threads.JBossThread.run(JBossThread.java:485)
Caused by: javax.faces.FacesException: com.sun.faces.application.ApplicationFactoryImpl
at
javax.faces.FactoryFinderInstance.getImplGivenPreviousImpl(FactoryFinderInstance.java:393)
at
javax.faces.FactoryFinderInstance.getImplementationInstance(FactoryFinderInstance.java:255)
at javax.faces.FactoryFinderInstance.getFactory(FactoryFinderInstance.java:529)
at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:292)
at
com.sun.faces.config.processor.FactoryConfigProcessor.verifyFactoriesExist(FactoryConfigProcessor.java:354)
... 24 more
Caused by: java.lang.ClassNotFoundException:
com.sun.faces.application.ApplicationFactoryImpl from [Module
"deployment.clusterbench-ee7-bugged.ear.c.war" from Service Module Loader]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:255)
at
org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:410)
at
org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:116)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at
javax.faces.FactoryFinderInstance.getImplGivenPreviousImpl(FactoryFinderInstance.java:387)
... 28 more
15:40:13,276 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 23)
MSC000001: Failed to start service
jboss.deployment.subunit."clusterbench-ee7-bugged.ear"."c.war".undertow-deployment:
org.jboss.msc.service.StartException in service
jboss.deployment.subunit."clusterbench-ee7-bugged.ear"."c.war".undertow-deployment:
java.lang.RuntimeException: java.lang.RuntimeException:
com.sun.faces.config.ConfigurationException: Factory
'javax.faces.application.ApplicationFactory' was not configured properly.
at
org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:81)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at
org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985)
at
org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487)
at
org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1378)
at java.lang.Thread.run(Thread.java:748)
at org.jboss.threads.JBossThread.run(JBossThread.java:485)
Caused by: java.lang.RuntimeException: java.lang.RuntimeException:
com.sun.faces.config.ConfigurationException: Factory
'javax.faces.application.ApplicationFactory' was not configured properly.
at
io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:252)
at
org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:96)
at
org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:78)
... 8 more
Caused by: java.lang.RuntimeException: com.sun.faces.config.ConfigurationException:
Factory 'javax.faces.application.ApplicationFactory' was not configured properly.
at
com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:315)
at
io.undertow.servlet.core.ApplicationListeners.contextInitialized(ApplicationListeners.java:187)
at
io.undertow.servlet.core.DeploymentManagerImpl$1.call(DeploymentManagerImpl.java:216)
at
io.undertow.servlet.core.DeploymentManagerImpl$1.call(DeploymentManagerImpl.java:185)
at
io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:42)
at
io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
at
org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105)
at
org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
at
org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
at
org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
at
org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
at
io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:250)
... 10 more
Caused by: com.sun.faces.config.ConfigurationException: Factory
'javax.faces.application.ApplicationFactory' was not configured properly.
at
com.sun.faces.config.processor.FactoryConfigProcessor.verifyFactoriesExist(FactoryConfigProcessor.java:357)
at
com.sun.faces.config.processor.FactoryConfigProcessor.process(FactoryConfigProcessor.java:243)
at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:443)
at
com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:237)
... 21 more
Caused by: javax.faces.FacesException: com.sun.faces.application.ApplicationFactoryImpl
at
javax.faces.FactoryFinderInstance.getImplGivenPreviousImpl(FactoryFinderInstance.java:393)
at
javax.faces.FactoryFinderInstance.getImplementationInstance(FactoryFinderInstance.java:255)
at javax.faces.FactoryFinderInstance.getFactory(FactoryFinderInstance.java:529)
at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:292)
at
com.sun.faces.config.processor.FactoryConfigProcessor.verifyFactoriesExist(FactoryConfigProcessor.java:354)
... 24 more
Caused by: java.lang.ClassNotFoundException:
com.sun.faces.application.ApplicationFactoryImpl from [Module
"deployment.clusterbench-ee7-bugged.ear.c.war" from Service Module Loader]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:255)
at
org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:410)
at
org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:116)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at
javax.faces.FactoryFinderInstance.getImplGivenPreviousImpl(FactoryFinderInstance.java:387)
... 28 more
{code}
I'm not sure what the best solution would be to fix this. Errors logged don't seem
to really be an issue since JSF isn't really needed for the EAR. I think adding the
JSF modules to the EAR is not quite right. However it does make those logged errors go
away. It also means though that all sub-deployments would also require a dependency on
JSF.
SEVERE error on deploy of ear: "Unable to obtain CDI 1.1
utilities for Mojarra"
-------------------------------------------------------------------------------
Key: WFLY-10655
URL:
https://issues.jboss.org/browse/WFLY-10655
Project: WildFly
Issue Type: Bug
Components: CDI / Weld, JSF
Affects Versions: 13.0.0.Final
Reporter: tommaso borgato
Assignee: Dmitrii Tikhomirov
Fix For: 14.0.0.Beta2
Attachments: clusterbench-ee7-bugged.ear, clusterbench-ee7.ear
Affected scenario is
[
eap-7x-failover-ejb-ejbservlet-undeploy-repl-sync|https://jenkins.hosts.m...].
Every time the server is stated or re-started, we observed the following SEVERE logs just
after clusterbench is deployed (clusterbench is an ear that uses JSF); we observed them
systematically on each of the 4 nodes composing the cluster:
{noformat}
2018-06-27 02:47:07,439 INFO [org.jboss.as.clustering.infinispan] (ServerService Thread
Pool -- 72) WFLYCLINF0002: Started clusterbench-ee7.ear.clusterbench-ee7-web-granular.war
cache from web container
2018-06-27 02:47:07,440 INFO [org.jboss.as.clustering.infinispan] (ServerService Thread
Pool -- 75) WFLYCLINF0002: Started client-mappings cache from ejb container
2018-06-27 02:47:07,440 INFO [org.jboss.as.clustering.infinispan] (ServerService Thread
Pool -- 73) WFLYCLINF0002: Started clusterbench-ee7.ear.clusterbench-ee7-web-default.war
cache from web container
2018-06-27 02:47:07,440 INFO [org.jboss.as.clustering.infinispan] (ServerService Thread
Pool -- 74) WFLYCLINF0002: Started default-server cache from web container
2018-06-27 02:47:07,439 INFO [org.jboss.as.clustering.infinispan] (ServerService Thread
Pool -- 76) WFLYCLINF0002: Started
clusterbench-ee7.ear.clusterbench-ee7-web-passivating.war cache from web container
2018-06-27 02:47:07,578 INFO [org.jboss.as.clustering.infinispan] (ServerService Thread
Pool -- 75) WFLYCLINF0002: Started clusterbench-ee7.ear/clusterbench-ee7-ejb.jar cache
from ejb container
2018-06-27 02:47:07,673 WARN [org.jboss.weld.Bootstrap] (MSC service thread 1-7)
WELD-000146: BeforeBeanDiscovery.addAnnotatedType(AnnotatedType<?>) used for class
org.jberet.creation.BatchBeanProducer is deprecated from CDI 1.1!
2018-06-27 02:47:07,713 WARN [org.jboss.weld.Bootstrap] (MSC service thread 1-7)
WELD-000146: BeforeBeanDiscovery.addAnnotatedType(AnnotatedType<?>) used for class
org.hibernate.validator.internal.cdi.interceptor.ValidationInterceptor is deprecated from
CDI 1.1!
2018-06-27 02:47:07,739 WARN [org.jboss.weld.Bootstrap] (MSC service thread 1-7)
WELD-000146: BeforeBeanDiscovery.addAnnotatedType(AnnotatedType<?>) used for class
com.sun.faces.flow.FlowDiscoveryCDIHelper is deprecated from CDI 1.1!
2018-06-27 02:47:08,149 SEVERE [javax.enterprise.resource.webcontainer.jsf.flow] (MSC
service thread 1-7) Unable to obtain CDI 1.1 utilities for Mojarra
2018-06-27 02:47:08,163 SEVERE
[javax.enterprise.resource.webcontainer.jsf.application.view] (MSC service thread 1-7)
Unable to obtain CDI 1.1 utilities for Mojarra
2018-06-27 02:47:08,586 INFO [javax.enterprise.resource.webcontainer.jsf.config]
(ServerService Thread Pool -- 76) Initializing Mojarra 2.2.13.SP5 for context
'/clusterbench-granular'
2018-06-27 02:47:08,586 INFO [javax.enterprise.resource.webcontainer.jsf.config]
(ServerService Thread Pool -- 72) Initializing Mojarra 2.2.13.SP5 for context
'/clusterbench'
2018-06-27 02:47:08,587 INFO [javax.enterprise.resource.webcontainer.jsf.config]
(ServerService Thread Pool -- 78) Initializing Mojarra 2.2.13.SP5 for context
'/clusterbench-passivating'
2018-06-27 02:47:09,860 INFO [org.wildfly.extension.undertow] (ServerService Thread Pool
-- 76) WFLYUT0021: Registered web context: '/clusterbench-granular' for server
'default-server'
2018-06-27 02:47:09,863 INFO [org.wildfly.extension.undertow] (ServerService Thread Pool
-- 72) WFLYUT0021: Registered web context: '/clusterbench' for server
'default-server'
2018-06-27 02:47:09,863 INFO [org.wildfly.extension.undertow] (ServerService Thread Pool
-- 78) WFLYUT0021: Registered web context: '/clusterbench-passivating' for server
'default-server'
2018-06-27 02:47:09,889 INFO [org.jboss.as.server] (ServerService Thread Pool -- 42)
WFLYSRV0010: Deployed "clusterbench-ee7.ear" (runtime-name :
"clusterbench-ee7.ear")
2018-06-27 02:47:09,989 INFO [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0212:
Resuming server
{noformat}
Complete log
[
here|https://jenkins.hosts.mwqe.eng.bos.redhat.com/hudson/job/perflab_eap...]
Already observed a very long time ago:
https://issues.jboss.org/browse/WFLY-1946