daust / JasperReportsIntegration

JasperReportsIntegration provides an interface to use the JasperReports reporting engine in an Oracle database application, specifically with Oracle Application Express (Oracle APEX).
BSD 3-Clause "New" or "Revised" License
55 stars 25 forks source link

Error executing report with Oracle datalink first time only #73

Closed nlwilson02 closed 2 years ago

nlwilson02 commented 3 years ago

We just upgraded to use the new jri.war (2.7). Every morning the first time a report is executed that uses database links it gets an error. A reload of the page and the report runs successfully. We have been using the same code for years without issue so I am thinking I am missing some configuration parameter. We are using Apache Tomcat, Oracle 19c.

Type Exception Report

Message Error executing SQL statement for: HR_WAGE_REMINDERS.

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

java.lang.RuntimeException: Error executing SQL statement for: HR_WAGE_REMINDERS. de.oc.utils.Utils.throwRuntimeException(Utils.java:18) de.oc.integration.jasper.webapp.ReportWrapper.service(ReportWrapper.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:126) Note The full stack trace of the root cause is available in the server logs.

nlwilson02 commented 3 years ago

Also seeing this warning in the catalina.out file log4j:WARN No appenders could be found for logger (de.oc.integration.jasper.webapp.AppServletContextListener).

daust commented 3 years ago

Just to confirm:

Could you please increase the log level as described here: https://github.com/daust/JasperReportsIntegration#faq

Once we have an Oracle error, we can go deeper. Cheers.

nlwilson02 commented 3 years ago

The only change was to upgrade to use the new jri.war. I found that I haven’t fully upgraded to the latest version 6.16 and was experiencing the bug in version 6.15, random HTTP 500 errors. After completing the upgrade to 6.16 we are no longer seeing the intermittent HTTP error’s but I still see the below warning in the Tomcat catalina.out log file. Does this indicate we are missing a configuration step ?

log4j:WARN No appenders could be found for logger (de.oc.integration.jasper.webapp.AppServletContextListener). log4j:WARN Please initialize the log4j system properly.

Thanks you so much for your time and providing this extremely useful and invaluable integration tool for Oracle Apex and JasperReports!

From: Dietmar Aust @.> Sent: Wednesday, March 17, 2021 12:59 PM6. To: daust/JasperReportsIntegration @.> Cc: Nancy Wilson @.>; Author @.> Subject: Re: [daust/JasperReportsIntegration] Error executing report with Oracle datalink first time only (#73)

Just to confirm:

Could you please increase the log level as described here: https://github.com/daust/JasperReportsIntegration#faq

Once we have an Oracle error, we can go deeper. Cheers.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/daust/JasperReportsIntegration/issues/73#issuecomment-801248818, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AKTBDBVYWD62K3OAVAS2FODTEDNV5ANCNFSM4ZAVLESA.

daust commented 3 years ago

This is good news!

The message

log4j:WARN No appenders could be found for logger (de.oc.integration.jasper.webapp.AppServletContextListener).
log4j:WARN Please initialize the log4j system properly.

This is typically due to missing configuration files.

You need the log4j.properties file in the configuration directory. image

You can check the different locations on the homepage of the jri.war file: image

It doesn't cause any issues ... but it is better to have it in the right location, will get rid of the messages.

nlwilson02 commented 3 years ago

The file log4j.properties exists in the /opt/jri/conf directory, which is where all the configuration and reports reside. Do I have to use JasperReportsIntegration as the folder name, my OC_JASPER_CONFIG_HOME environment variable is set to /opt/jri

@.***D71BFF.68AC4610]

From: Dietmar Aust @.> Sent: Thursday, March 18, 2021 1:21 PM To: daust/JasperReportsIntegration @.> Cc: Nancy Wilson @.>; Author @.> Subject: Re: [daust/JasperReportsIntegration] Error executing report with Oracle datalink first time only (#73)

This is good news!

The message

log4j:WARN No appenders could be found for logger (de.oc.integration.jasper.webapp.AppServletContextListener).

log4j:WARN Please initialize the log4j system properly.

This is typically due to missing configuration files.

You need the log4j.properties file in the configuration directory. [image]https://user-images.githubusercontent.com/4840057/111668741-5912e280-8816-11eb-8dd0-e1d4f74ee1fc.png

You can check the different locations on the homepage of the jri.war file: [image]https://user-images.githubusercontent.com/4840057/111668854-7e075580-8816-11eb-9938-0a57f76906ea.png

It doesn't cause any issues ... but it is better to have it in the right location, will get rid of the messages.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/daust/JasperReportsIntegration/issues/73#issuecomment-802140752, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AKTBDBTNY7YAR3CA2CNXKQDTEIY6ZANCNFSM4ZAVLESA.

daust commented 3 years ago
Do I have to use JasperReportsIntegration as the folder name, my OC_JASPER_CONFIG_HOME environment variable is set to /opt/jri

That sounds correct. Can you please post the configuration info section from the J2EE homepage http://host:port/jri as I did before. Then I can see the relevant configuration parts.

Thank you.

daust commented 2 years ago

Are you still experiencing these issues? Else I will close the issue in a few days. Thank you.

nlwilson02 commented 2 years ago

I haven't upgraded to the latest release 2.8.1 but I believe you found and corrected the problem by setting the below in release 2.8 poolDataSource.setValidateConnectionOnBorrow(true);

Thanks for all you do !

daust commented 2 years ago

Perfect! Sounds great. You are more than welcome :). Thank you.