SAP Knowledge Base Article - Public

1347107 - API call or other work around to restart CRJ without restarting the application server?

Symptom

  • Reports are processed within a Crystal Reports Java (CRJ) web application.
  • Incorrectly written reports would attempt to load very large amount of data to generate report, causing the rest of the application to be starved for memory and CPU power.
  • This brings the whole application server to a halt.
  • In this scenario, the application server has to be restarted to back out of the CRJ specific issue.

Cause

  • CRJ and JRC both process reports in memory, in the process space of the application server.
  • If large reports are being processed, this can cause the report object loaded in to memory to expand to a point where the application server will run out of memory space.

Resolution

  • There is no API call to restart the CRJ or JRC without restarting the application server.
  • This functionality can be found in Crystal Reports Server Embedded or BusinessObjects Enterprise by using the Report Application Server (RAS) SDK.
  • The RAS SDK has the same object model as CRJ; the difference is that it runs outside of the process of the application server, by sharing it's processing power with the RAS Service (a Windows service).
  • The RAS Service can be restarted when the application seems to be hanging, thus preventing the web application server from having to be restarted.

Keywords

KBA , BI-DEV-JAV , BI Software Development Kits (SDKs) - Java , Problem

Product

Crystal Reports for Java 1.0