You can embed a self-contained JReport Server into your EAR in order to use JReport Server from EJB.
For example, here you can create an EAR named MyApp.ear and then embed a self-contained JReport Server inside it. In the EAR, there is an EJB module used for initializing JReport Server. The structure of your EAR may be as follows:
MyEAR.ear
META-INF/application.xml
jreport-lib/ -- This folder contains all resources in the JReport Server library
MyEjb.jar
META-INF/
MANIFEST.MF
ejb-jar.xml
com/
Following the Java EE standard, you should configure the META-INF/application.xml file before deploying your EAR:
|
Since the JReport Server library is included in the jreport-lib folder of the EAR layer, you must specify Class-Path in the META-INF/MANIFEST.MF file. The contents below should be included in the MANIFEST.MF file:
Class-Path: jreport-lib/jrenv.jar jreport-lib/JRESServlets.jar jreport-lib/JREngine.jar ...
Class-Path is a list of all packages in the JReport Server library. Each package name should start with the prefix jreport-lib/, and you should use a blank space to separate package names.
If you do not want to set the reporthome for the embedded self-contained JReport Server, but instead want to use JReport's default settings, there is no requirement for configuring the ejb-jar.xml. However, if you want to control the reporthome of the JReport Server, or specify a JNDI data source for JReport Server to use, you should first configure the ejb-jar.xml file using the <env-entry></env-entry>
tags.
Here is an example:
|