Your browser was unable to load all of the resources. They may have been blocked by your firewall, proxy or browser configuration.
Press Ctrl+F5 or Ctrl+Shift+R to have your browser try again.

FAIL - Application at context path [/JasperReportsIntegration] could not be started #29

#1

On Windows 10, the 19c database, I'm trying to make JRI functional on TomCat 9.0.46.
I did everything as in the manual, I looked for solutions on the internet. Nothing. When starting jri in TomCat always appears the same error. What did I miss?
I really appreciate a prompt response.

  • solved #18
  • replies 21
  • views 2.7K
  • likes 0
#2

Not specific enough.

Which version of JRI and what is the error? Please post the relevant part from the logfile in Tomcat.
Thanks.

SPADSYSTEMS · Author

I tried both 2.4.0 and 2.7.0.
When I enter Tomcat in Manager, jri is not turned on. The status is false. I start it and start that message from the subject of the post.
If I access from the browser the error is:
HTTP Status 404 – Not Found
Type Status Report
Message The requested resource [/JasperReportsIntegration/] is not available
Description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
I mention that it is a special situation on that computer. I also managed to install on other systems, on Windows 10.

SPADSYSTEMS · Author
#4

log4j:ERROR Ignoring configuration file [c:/app/JasperReportsIntegration\conf\log4j.properties].
16-Nov-2021 11:01:30.293 SEVERE [http-nio-8083-exec-34] org.apache.catalina.core.StandardContext.startInternal One or more listeners failed to start. Full details will be found in the appropriate container log file
16-Nov-2021 11:01:30.293 SEVERE [http-nio-8083-exec-34] org.apache.catalina.core.StandardContext.startInternal Context [/JasperReportsIntegration] startup failed due to previous errors
16-Nov-2021 11:01:30.325 SEVERE [http-nio-8083-exec-34] org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks The web application [JasperReportsIntegration] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@c80b0e]) and a value of type [java.lang.Class] (value [class oracle.sql.TypeDescriptorFactory]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
16-Nov-2021 11:01:30.326 SEVERE [http-nio-8083-exec-34] org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks The web application [JasperReportsIntegration] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@148a4b0]) and a value of type [java.lang.Class] (value [class oracle.sql.AnyDataFactory]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
16-Nov-2021 11:47:51.060 INFO [http-nio-8083-exec-44] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
log4j:WARN No appenders could be found for logger (de.oc.integration.jasper.webapp.AppServletContextListener).
log4j:WARN Please initialize the log4j system properly.
log4j:ERROR Could not read configuration file [c:/app/JasperReportsIntegration\conf\log4j.properties].
java.io.FileNotFoundException: c:\app\JasperReportsIntegration\conf\log4j.properties (Access is denied)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(Unknown Source)
at java.io.FileInputStream. (Unknown Source)
at java.io.FileInputStream. (Unknown Source)
at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:316)
at org.apache.log4j.PropertyConfigurator.configure(PropertyConfigurator.java:342)
at de.oc.integration.jasper.webapp.AppConfig.initialize(Unknown Source)
at de.oc.integration.jasper.webapp.AppServletContextListener.contextInitialized(Unknown Source)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4716)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5172)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1418)
at org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:703)
at org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:223)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:652)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:211)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:126)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:667)
at org.apache.catalina.valves.RequestFilterValve.process(RequestFilterValve.java:378)
at org.apache.catalina.valves.RemoteAddrValve.invoke(RemoteAddrValve.java:56)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
log4j:ERROR Ignoring configuration file [c:/app/JasperReportsIntegration\conf\log4j.properties].
16-Nov-2021 11:47:51.111 SEVERE [http-nio-8083-exec-44] org.apache.catalina.core.StandardContext.startInternal One or more listeners failed to start. Full details will be found in the appropriate container log file
16-Nov-2021 11:47:51.111 SEVERE [http-nio-8083-exec-44] org.apache.catalina.core.StandardContext.startInternal Context [/JasperReportsIntegration] startup failed due to previous errors
16-Nov-2021 11:47:51.143 SEVERE [http-nio-8083-exec-44] org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks The web application [JasperReportsIntegration] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@1db6aa0]) and a value of type [java.lang.Class] (value [class oracle.sql.TypeDescriptorFactory]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
16-Nov-2021 11:47:51.144 SEVERE [http-nio-8083-exec-44] org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks The web application [JasperReportsIntegration] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@8340fc]) and a value of type [java.lang.Class] (value [class oracle.sql.AnyDataFactory]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.

#5

The log indicates it might be a privilege issue with the log4j.properties file?
Can you check that?

Greenshot 2021-11-16 15.17.18.png

Best
~Dietmar.

SPADSYSTEMS · Author

I don't see why access would be denied. I checked. Plus I did deploy directly on 8090 and see the database. So it's connecting to the base, even if it's pdb. It's something else, probably related to tomcat. I reinstalled it again. Same, the same error.

#7

I am sorry, but I can only work with the information that I have:

  • you managed to install on other systems, thus you generally understand how it works.
  • And the software works as well in general.
  • Thus, there is something different on this Windows machine
  • The logs tell me that the file c:\app\JasperReportsIntegration\conf\log4j.properties cannot be read (access denied).

Please check again that the file exists AND is readable by the same user / process that is running Tomcat.

#8

Is the file read-only for some reason?

SPADSYSTEMS · Author
#9

The file exists AND is readable by the same user / process that is running Tomcat.Is not read only.
I apologize but I'm missing something. I think it's something related to the system, the computer or the operating system. I tried 3 times to reinstall everything.

SPADSYSTEMS · Author
#10

Would it be possible to use jri without tomcat in relation to apex? That in the conditions in which jri starts on port 8090 and seems to see and recognize the database?

#11

Hhhm. Perhaps there is some security software involved? Some live virus checker disallowing access to this file for some reason? Or another hardening of the system?

#12

Would it be possible to use jri without tomcat in relation to apex? That in the conditions in which jri starts on port 8090 and seems to see and recognize the database?

I am sorry, but I don't understand the question.

You don't need to install Tomcat, you can run it using the embedded Jetty application server. This is described in the quickstart instructions: https://github.com/daust/JasperReportsIntegration/blob/main/src/doc/github/installation-quickstart.md

JRI should work with multiple different application servers.

SPADSYSTEMS · Author
#13

I tried that too.

At http://localhost:8090/

Error 404 - Not Found.
No context on this server matched or handled this request.

Contexts known to this server are:

Context Path Display Name Status LifeCycle
/jri JasperReportsIntegration Available STARTED

At http://localhost:8090/jri
is ok. Even more, if I press test, it also shows me the oracle database.

At startup JRI.cmd looks like this:

WARN : System properties and/or JVM args set. Consider using --dry-run or --exec
2021-11-17 10:38:53.901:INFO::main: Logging initialized @409ms to org.eclipse.jetty.util.log.StdErrLog
2021-11-17 10:38:54.026:WARN:oejs.HomeBaseWarning:main: This instance of Jetty is not running from a separate {jetty.base} directory, this is not recommended. See documentation at http://www.eclipse.org/jetty/documentation/current/startup.html
2021-11-17 10:38:54.057:WARN:oejx.XmlConfiguration:main: Property 'jetty.port' is deprecated, use 'jetty.http.port' instead
2021-11-17 10:38:54.057:INFO:oejs.Server:main: jetty-9.4.31.v20200723; built: 2020-07-23T17:57:36.812Z; git: 450ba27947e13e66baa8cd1ce7e85a4461cacc1d; jvm 1.8.0_311-b11
2021-11-17 10:38:54.073:INFO:oejdp.ScanningAppProvider:main: Deployment monitor [file:///C:/app/JasperReportsIntegration/jetty/webapps/] at interval 1
2021-11-17 10:38:57.291:WARN:oeja.AnnotationParser:qtp17656853-9: org.w3c.dom.UserDataHandler scanned from multiple locations: jar:file:///C:/Users/crmadmin/AppData/Local/Temp/jetty-0_0_0_0-8090-jri_war-_jri-any-2191307909896353605.dir/webapp/WEB-INF/lib/jaxen-1.1.6.jar!/org/w3c/dom/UserDataHandler.class, jar:file:///C:/Users/crmadmin/AppData/Local/Temp/jetty-0_0_0_0-8090-jri_war-_jri-any-2191307909896353605.dir/webapp/WEB-INF/lib/xml-apis-1.3.04.jar!/org/w3c/dom/UserDataHandler.class
2021-11-17 10:38:57.447:INFO:oeja.AnnotationConfiguration:main: Scanning elapsed time=1189ms
2021-11-17 10:38:57.556:INFO:oejs.session:main: DefaultSessionIdManager workerName=node0
2021-11-17 10:38:57.556:INFO:oejs.session:main: No SessionScavenger set, using defaults
2021-11-17 10:38:57.556:INFO:oejs.session:main: node0 Scavenging every 660000ms
log4j:WARN No appenders could be found for logger (de.oc.integration.jasper.webapp.AppServletContextListener).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console. Set system property 'org.apache.logging.log4j.simplelog.StatusLogger.level' to TRACE to show Log4j2 internal initialization logging.
17.11.2021 10:38:57 DEBUG [webapp.AppServletContextListener] de.oc.integration.jasper.webapp.AppServletContextListener.contextInitialized(AppServletContextListener.java:40): contextInitialized() called
17.11.2021 10:38:57 DEBUG [webapp.AppServletContextListener] de.oc.integration.jasper.webapp.AppServletContextListener.contextInitialized(AppServletContextListener.java:47): contextInitialized() finished!
2021-11-17 10:38:57.853:INFO:oejsh.ContextHandler:main: Started o.e.j.w.WebAppContext@11c1ea0{JasperReportsIntegration,/jri,file:///C:/Users/crmadmin/AppData/Local/Temp/jetty-0_0_0_0-8090-jri_war-_jri-any-2191307909896353605.dir/webapp/,AVAILABLE}{C:\app\JasperReportsIntegration\jetty\webapps\jri.war}
2021-11-17 10:38:57.853:INFO:oejs.AbstractConnector:main: Started ServerConnector@1898981{HTTP/1.1, (http/1.1)}{0.0.0.0:8090}
2021-11-17 10:38:57.853:INFO:oejs.Server:main: Started @4363ms

Where did I go wrong?

#14

I don't know where you went wrong. But you can use the jetty as is.

I still believe it is a privilege / access issue.

SPADSYSTEMS · Author
#15

What else did I find out? It is windows server 2019. There are no security restrictions. I've tried before. The same error occurs. Become annoying.

#16

I can have a look. Please contact me at dietmar.aust AT gmail.com.

SPADSYSTEMS · Author
#17

E-mail sent.

#18

Thank you very much for your good intentions. It's finally working. It doesn't work with tomcat, but I managed to configure it to work without tomcat.
What did I do differently? In the test application, I found that he sees my oracle database. So I followed the path it sees and after starting jetty and the application I set not "default" but "jri" to Context Path (Value Required). He doesn't see the tomcat but the important thing is that I can use it.
Thanks again.

SPADSYSTEMS accepted post #18 as the answer
#19
#20

Good that you have it working but I don't understand what you have changed and how you are running it.
Anyhow, glad you could fix it.

Best
~Dietmar.

SPADSYSTEMS · Author
#21
#22

Ah ok. Thank you for the clarification. :thumbsup: