Typically, your JasperReports IO At-Scale cluster will access the repository in a JasperReports Server instance, as described in Connecting to a JasperReports Server Repository. As an option for high performance needs, you can also use a local repository in every deployed jrio-reporting pod, jrio-export pod, and jrio-rest pod. By using a file-based repository in the docker images, JRIO can process some requests locally, which is about 20% faster than using the server's repository.
Several repository structures are possible in JasperReports IO At-Scale, the same as with JasperReports IO Professional:
| • | This section describes how to create a repository of static files in the docker images. The files are static because they are copied and deployed in each pod without any mechanism to update the contents. To change the contents of the local repository, you must rebuild the docker images and redeploy every pod. |
| • | You can have both a local repository and the JasperReports Server repository that are used at the same time. In this case, all requests that are proxied from the server to JRIO will use the server's repository, and all requests that you send to the JRIO REST service will resolve in the local repository. |
| • | JasperReports IO At-Scale can also use an S3 repository, as described in the section "AWS S3 Bucket Repository" in Chapter 2 of the JasperReports IO Professional User Guide. When using an S3 bucket, you can modify the contents of the repository without rebuilding the docker images. |
| • | You can have several file repositories that will be accessed as one, as described in the section "Configuring the Web Application Server to Use Multiple Repositories" in Chapter 2 of the JasperReports IO Professional User Guide. |
The following procedure describes how to create a local, file-based repository copy in every docker pod.
To implement a local repository, configure the following modules before building the Docker images:
| 1. | Edit the file jrio-reporting-docker/jrio/applicationContext-repository.xml and comment out the following beans: |
| • | com.jaspersoft.jrio.common.repository.HttpRepositoryService |
| • | com.jaspersoft.jrio.common.repository.HttpRepositoryPersistenceServiceFactory |
| • | com.jaspersoft.jrio.common.repository.JRIOHttpRepositoryPersistenceServiceFactory |
| 2. | Add the following beans to the file, then save and close it: |
| 3. | Edit the file jrio-export-docker/jrio/applicationContext-repository.xml and comment out the same beans: |
| • | com.jaspersoft.jrio.common.repository.HttpRepositoryService |
| • | com.jaspersoft.jrio.common.repository.HttpRepositoryPersistenceServiceFactory |
| • | com.jaspersoft.jrio.common.repository.JRIOHttpRepositoryPersistenceServiceFactory |
| 4. | Add the following beans to the file, then save and close it: |
| 5. | Edit the file jrio-rest-docker/jrio/WEB-INF/applicationContext-repository.xml and comment out the same beans: |
| • | com.jaspersoft.jrio.common.repository.HttpRepositoryService |
| • | com.jaspersoft.jrio.common.repository.HttpRepositoryPersistenceServiceFactory |
| • | com.jaspersoft.jrio.common.repository.JRIOHttpRepositoryPersistenceServiceFactory |
| 6. | Add the following beans to the file, then save and close it: |
Do not edit or remove the Fusion resources in the same file.
| 7. | The file format of the file-based repository is described in the section "JasperReports IO Repository" in Chapter 2 of the JasperReports IO Professional User Guide. Once you have all your resource files ready, copy them to the following folders: |
| • | jrio-reporting-docker/jrio/repository |
| • | jrio-export-docker/jrio/repository |
| • | jrio-rest-docker/jrio/repository |
When building the docker images, files in the above locations are copied to the following locations:
| • | jrio-reporting > /usr/local/jrio |
| • | jrio-export > /usr/local/jrio |
| • | jrio-rest > /var/lib/jetty/webapps/jrio/repository |
Recommended Comments
There are no comments to display.