Java API for an application

JReport provides two ways for the application to call JReport directly without using JSP pages and URLs.

How to write client code using the Server API

If you want the entire JReport Server to run in the context of your application in the same JVM you can use the Server API. The Server when started this way starts a number of threads and runs exactly the same as when the server is started as a standalone server. The server just starts with the application and stops with the application. All access to the server such as RMI access from other applications is still allowed.


      //set report home
  System.getProperties().put("reporthome", "C:\\JReport\\Server");

      // Creates instance of RptServer ( this does nothing if JReport Server is already running in this JVM)
  HttpUtil.initEnv(System.getProperties());

      // Get a handle to the server instance
  RptServer server = HttpUtil.getHttpRptServer();

How to write client code using the Remote Server API

It is exactly the same code as above except you get a remote handle to the RPTServer.


      //set report home for logging and location of rmi.auth file for security
  System.getProperties().put("reporthome", "C:\\JReport\\Server");
  System.getProperties().put("jrs.rmi.auth_file", "C:\\JReport\\Server\\bin\\rmi.auth");

      //search the running server using default host and port
  String host = "localhost";
  String port = "1129";

  RptServer server = RemoteReportServerToolkit.getRemoteWrappedRptServer(host, port);