Jump to content
Changes to the Jaspersoft community edition download ×
  • This documentation is an older version of JasperReports IO 200 At Scale User Guide. View the latest documentation.

    Before you can build Docker images to deploy the modules, you must configure them to add the license file and specify a repository to store your reports. Optionally, you can also enable logging and set concurrent thread limits.

    Installing the License File

    You must purchase a license from TIBCO Jaspersoft to run JasperReports IO At-Scale. Once you recieve the license file, save a copy in the following folder:

    jrio-manager-docker/jrio/classes

    For more information about the license file, contact your TIBCO Jaspersoft support representative.

    Using the Standalone Repository

    The jrio-client module contains a repository that you can access through the sample application. The jrio-reporting modules can access reports in this standalone repository without needing to access an instance of JasperReports Server. To allow for quick demonstrations, the standalone repository is the default configuration of JasperReports IO At-Scale.

    However, the sample application is not a high-performance repository and is deployed statically in the jrio-client pod. Jaspersoft recommends using a JasperReports Server repository, as described in the next section.

    To make your reports appear in the standalone repository of the sample application, add the files to the jrio-client module in the following folder:

    jrio-client-docker/jrio-repository/samples

    The standalone repository is identical to the file-based repository in JasperReports IO Professional. For more information about its file structure, see the section "JasperReports IO Repository" in Chapter 2 of the JasperReports IO Professional User Guide.

    Connecting to a JasperReports Server Repository

    In a production environment, Jaspersoft recommends using JasperReports IO At-Scale with a JasperReports Server instance for maximum throughput and flexibility. In this case, users create and access reports in the JasperReports Server repository, and JRIO At-Scale becomes the scalable, high-performance reporting engine for the server.

    When connecting to JasperReports Server, you must specify a URL (IP address or hostname) that is accessible from inside the JasperReports IO At-Scale cluster. If you plan to use JasperReports Server on AWS, you can specify the static IP or loadbalancer with hostname that is attached to that server instance. Be aware that you should create your Virtual Private Cloud (VPC) ahead of time, as well as your JasperReports Server instance so that the IP address is already availabe for the next steps. For more information, see Deploying JasperReports Server.

    note-icon-ns.png.15f45b0daf33c666e89c42931ed742ab.png

    The repository URL is usually set in the Helm chart (values.yaml), as described in Configuring the Helm Chart. The Helm chart lets you update the repository URL dynamically because its value takes precedence. However, setting this value in the module configuration as described below provides a hardcoded default value.

    Optional:

    1. Specify the server's URL in three module configuration files:
    Files jrio-reporting-docker/jrio/applicationContext-jrs.xml
    jrio-export-docker/jrio/applicationContext-jrs.xml
    jrio-rest-docker/jrio/WEB-INF/applicationContext-jrs.xml
    Bean id="serverConfiguration"
    class="com.jaspersoft.jrio.common.repository.jrs.ServerConfiguration"
    Property serverURL
    Example <property name="serverURL" value="http://example.com:8080/jasperserver-pro"/>
    2. By default, JasperReports IO At-Scale still includes the standalone repository in the jrio-client module. Very high througput in JRIO At-Scale can lead to a performance bottle-neck in the repository of the jrio-client module, therefore Jaspersoft recommends disabling it before deployment.

    To keep the other modules from accessing the repository in the jrio-client module, open each of the following files and comment out all of the listed beans:

    Files jrio-reporting-docker/jrio/applicationContext-repository.xml
    jrio-export-docker/jrio/applicationContext-repository.xml
    jrio-rest-docker/jrio/WEB-INF/applicationContext-repository.xml
    Beans com.jaspersoft.jrio.common.repository.HttpRepositoryService
    com.jaspersoft.jrio.common.repository.HttpRepositoryPersistenceServiceFactory
    com.jaspersoft.jrio.common.repository.JRIOHttpRepositoryPersistenceServiceFactory

    Alternatively, if you wish to access the JRIO At-Scale cluster directly without going through JasperReports Server, you can store resources in static files directly in the modules. For more information, see Using a Local Repository.

    Setting JasperReports Properties

    JasperReports properties are the configuration settings for the JasperReports Library that is the reporting engine for JasperReports IO At-Scale. They affect the reporting and exporting modules to determine many aspects of report generation and output.

    note-icon-ns.png.974dfe1a91ee5a746a09464195a7069e.png

    JasperReports properties are usually set in the Helm chart (values.yaml), as described in Configuring the Helm Chart. The Helm chart lets you update the properties dynamically because its values takes precedence. However, setting this value in the module configuration as described below provides a hardcoded default value.

    Optional:

    To set JasperReports properties, add them to the following files:

    jrio-reporting module jrio-reporting-docker/jrio/classes/jasperreports.properties
    jrio-reporting-docker/jrio/classes/jasperreports_extension.properties
    jrio-export module jrio-export-docker/jrio/classes/jasperreports.properties
    jrio-export-docker/jrio/classes/jasperreports_extension.properties

    Configuring Logging

    By default, logging is enabled in the jrio-manager and jrio-reporting modules. Jaspersoft does not recommend changing the logging levels because the logs are used for troubleshooting. You can monitor these logs and use the Kubernetes Logging API to track events inside the cluster.

    The logging levels are defined as follows:

    Module jrio-manager
    File jrio-manager-docker/jrio/classes/log4j2.xml
    Loggers <Logger name="com.jaspersoft.jrio.manager.redis.RedisLicensePublisher" level="INFO"/>
    <Logger name="com.jaspersoft.jrio.manager.reporting.ReportingQueueManager"
    level="DEBUG"/>

     

    Module jrio-reporting
    File jrio-reporting-docker/jrio/classes/log4j2.xml
    Logger <Logger name="com.jaspersoft.jrio.reporting.execution.ReportExecutionPoll" level="DEBUG"/>

     

    Module jrio-rest
    File jrio-rest-dockerjrioWEB-INFclasseslog4j2.xml
    Logger None by default

    Setting Concurrent Threads

    The jrio-reporting and jrio-export modules are the workhorses of a JasperReports IO At-Scale cluster, usually deployed as multiple pods (module instances) to one or more nodes (physical or virtual machines). Each pod can also specify how many threads to run concurrently. This value depends on your performance needs, and it requires fine tuning based on service level requirements, user expectations, peak load, and CPUs available on each node.

    note-icon-ns.png.706e8d409fe38d69099ed0220de99624.png

    The concurrent threads are usually set in the Helm chart (values.yaml), as described in Configuring the Helm Chart. The Helm chart lets you update the properties dynamically because its values takes precedence. However, setting threads in the module configuration as described below provides a hardcoded default value.

    To specify the default number of concurrent threads in each reporting pod:

    File jrio-reporting-docker/jrio/applicationContext-reporting.xml
    Bean reportExecutionPoll
    Property reportExecutionThreads

    To specify the default number of concurrent threads in each export module:

    File jrio-export-docker/jrio/applicationContext-export.xml
    Bean com.jaspersoft.jrio.export.executor.ReportExportExecutor
    Property exportThreads


    User Feedback

    Recommended Comments

    There are no comments to display.



    Guest
    This is now closed for further comments

×
×
  • Create New...