tomee-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jean-Louis Monteiro <jlmonte...@tomitribe.com>
Subject Re: No Factories configured for this Application. This happens if the faces-initialization does not work at all
Date Mon, 16 Jul 2018 22:21:37 GMT
Hi,

Thanks for the detailed email with context and useful information.

Is it random, or can you reproduce easily?
Are you using JDK 8?

Regards
Jean-Louis

--
Jean-Louis Monteiro
http://twitter.com/jlouismonteiro
http://www.tomitribe.com

On Mon, Jul 16, 2018 at 1:54 PM, Emmanuel Touzery <
emmanuel.touzery@lit-transit.com> wrote:

> Hello,
>
>     we have a TOMEE 7.0.3 application, which uses also JMS, which works
> without issues. We've recently made a new version of the application (one
> of the notable changes is a migration from using the JMS1.1 to the JMS2
> API).
>
>     With the new version, we have an issue, but only on our PROD
> environment, where we get no errors in the catalina.out log file (but the
> application doesn't work), but an error in the localhost log file, the
> error being as in the title of the email, I put the info from the localhost
> log file at the end of this email.
>
>     I can't put the source on github or something like that,
> unfortunately. What is strange is that this error does not occur on our
> staging or UAT environments, but it does occur every time (well, we tried
> multiple times to restart the application and it failed consistently) on
> the PROD environment. We copied the entire PROD tomee folder on another
> machine and failed to reproduce the issue. We also tried to simulate
> incoming traffic when restarting the application, and run it against a
> backup of the PROD database... Somehow we can't reproduce the error. We are
> guessing that maybe the PROD traffic is higher than what we can simulate
> and some incoming message comes at just the wrong time? But we don't know
> for sure.
>
>     Now, studying the issue, we realized that we used to have this in our
> src/main/webapp/WEB-INF/faces-config.xml:
>
> <?xml version="1.0" encoding="UTF-8"?><faces-config xmlns="
> http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2
> 001/XMLSchema-instance" xsi:schemaLocation="http://jav
> a.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/jav
> aee/web-facesconfig_2_1.xsd" version="2.1"><managed-bean><m
> anaged-bean-name>login</managed-bean-name><managed-bean-
> class>com.lecip.tms.tms_core.application.Login</managed-
> bean-class><managed-bean-scope>view</managed-bean-scope
> ></managed-bean></faces-config>
>
>     We believe the JSF version is not correct for JEE7 anymore, in
> addition the managed-bean annotation is not necessary, so we changed the
> file to now contain:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <faces-config xmlns="http://xmlns.jcp.org/xml/ns/javaee"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
> http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd"
>               version="2.2">
> </faces-config>
>
>     Could this be the cause for that error that we saw in our PROD
> environment? Or you would think the root cause would be something else? The
> problem is that it's pretty difficult for us to experiment with changes
> since any deployment on PROD must be first validated on staging and UAT...
> Any hints? Is there maybe some logging configuration flag we could activate
> to get more information about the error? Or any other place to look to get
> more information about the issue?
>
>     The irony is that we use JSF only for the login screen and nowhere
> else...
>
>     Regards,
>
> Emmanuel
>
> 12-Jul-2018 17:44:04.335 SEVERE [localhost-startStop-1]
> org.apache.tomcat.util.descriptor.web.SecurityConstraint.findUncoveredHttpMethods
> For security constraints with URL pattern [/*] only the HTTP methods [TRACE
> HEAD DELETE POST GET OPTIONS PUT] are covered. All other methods are
> uncovered.
> 12-Jul-2018 17:44:22.078 SEVERE [localhost-startStop-1]
> org.apache.catalina.core.ApplicationContext.log StandardWrapper.Throwable
>  java.lang.IllegalStateException: No Factories configured for this
> Application. This happens if the faces-initialization does not work at all
> - make sure that you properly include all configuration settings necessary
> for a basic faces application and that all the necessary libs are included.
> Also check the logging output of your web application and your container
> for any exceptions!
> If you did that and find nothing, the mistake might be due to the fact
> that you use some special web-containers which do not support registering
> context-listeners via TLD files and a context listener is not setup in your
> web.xml.
> A typical config looks like this;
> <listener>
> <listener-class>org.apache.myfaces.webapp.StartupServletCont
> extListener</listener-class>
> </listener>
>
>         at javax.faces.FactoryFinder._getFactory(FactoryFinder.java:305)
>         at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:225)
>         at javax.faces.webapp.FacesServlet.init(FacesServlet.java:115)
>         at org.apache.catalina.core.StandardWrapper.initServlet(Standar
> dWrapper.java:1183)
>         at org.apache.catalina.core.StandardWrapper.loadServlet(Standar
> dWrapper.java:1099)
>         at org.apache.catalina.core.StandardWrapper.load(StandardWrappe
> r.java:989)
>         at org.apache.catalina.core.StandardContext.loadOnStartup(Stand
> ardContext.java:4913)
>         at org.apache.catalina.core.StandardContext.startInternal(Stand
> ardContext.java:5223)
>         at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.
> java:150)
>         at org.apache.catalina.core.ContainerBase.addChildInternal(Cont
> ainerBase.java:752)
>         at org.apache.catalina.core.ContainerBase.addChild(ContainerBas
> e.java:728)
>         at org.apache.catalina.core.StandardHost.addChild(StandardHost.
> java:734)
>         at org.apache.catalina.startup.HostConfig.deployDescriptor(Host
> Config.java:596)
>         at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(
> HostConfig.java:1805)
>         at java.util.concurrent.Executors$RunnableAdapter.call(
> Executors.java:511)
>         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPool
> Executor.java:1149)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoo
> lExecutor.java:624)
>         at java.lang.Thread.run(Thread.java:748)
>
> and later:
>
> 12-Jul-2018 17:44:23.083 SEVERE [http-nio-8080-exec-3]
> org.apache.catalina.core.StandardHostValve.invoke Exception Processing
> /tomee_tmsp/rest/transmitter/heartbeat
>  java.lang.NullPointerException
>         at org.apache.openejb.util.classloader.URLClassLoaderFirst.shou
> ldSkipJsf(URLClassLoaderFirst.java:530)
>         at org.apache.openejb.util.classloader.URLClassLoaderFirst.shou
> ldDelegateToTheContainer(URLClassLoaderFirst.java:146)
>         at org.apache.tomee.catalina.TomEEWebappClassLoader.loadClass(T
> omEEWebappClassLoader.java:163)
>         at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(W
> ebappClassLoaderBase.java:1119)
>         at org.apache.catalina.core.StandardWrapper.servletSecurityAnno
> tationScan(StandardWrapper.java:1128)
>         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(A
> uthenticatorBase.java:458)
>         at org.apache.catalina.core.StandardHostValve.invoke(StandardHo
> stValve.java:140)
>         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorRepo
> rtValve.java:79)
>         at org.apache.tomee.catalina.OpenEJBSecurityListener$RequestCap
> turer.invoke(OpenEJBSecurityListener.java:97)
>         at org.apache.catalina.valves.AbstractAccessLogValve.invoke(Abs
> tractAccessLogValve.java:624)
>         at org.apache.catalina.core.StandardEngineValve.invoke(Standard
> EngineValve.java:87)
>         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAd
> apter.java:349)
>         at org.apache.coyote.http11.Http11Processor.service(Http11Proce
> ssor.java:783)
>         at org.apache.coyote.AbstractProcessorLight.process(AbstractPro
> cessorLight.java:66)
>         at org.apache.coyote.AbstractProtocol$ConnectionHandler.
> process(AbstractProtocol.java:798)
>         at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun
> (NioEndpoint.java:1434)
>         at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketPro
> cessorBase.java:49)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPool
> Executor.java:1149)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoo
> lExecutor.java:624)
>         at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.
> run(TaskThread.java:61)
>         at java.lang.Thread.run(Thread.java:748)
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message