Appendix 1: Properties in the server.properties file

This appendix provides a list of properties in the server.properties file which is created in <install_root>\bin when the first time JReport Server is started, and the detailed information about these properties.

Property Name Default Value (Range) Description
CLUSTER
cluster.enable true/false Specifies whether or not to activate the cluster feature on the server. This property is available only when the license key you use for your JReport Server is cluster enabled, and the default value of the property varies as follows:
  • If there already exists the server.properties file in <install_root>\bin but without the cluster.enable property, after you use the cluster enabled key to launch your JReport Server, the property will be added in server.properties and its default value is true.
  • If there is no server.properties file in <install_root>\bin, after you use the cluster enabled key to launch your JReport Server, the default value for cluster.enable is false.

When the cluster feature is activated on a clustered server, the server will call the remote methods to accomplish tasks, however by using RMI, the server's performance and reliability will be affected. Therefore, when you want a clustered server to work individually (not in a cluster environment), you can turn off the cluster feature on it by setting this property to false.

cluster.member.id - Specifies the member ID for the clustered server. Each clustered server should have an unique member ID. The value of this property should be an integer no less than 1.
cluster.name jreport-cluster Specifies the name of the cluster. When the property cluster.enabled is set to true, you must specify a unique cluster name for the servers that will join the cluster to build the cluster.
ENGINE
engine.default_encoding - In JReport Engine, this property is used by parameters and export formats (HTML, PDF, RTF, XLS, and e-mail). The property value is used to encode the displaying value of parameters and report data when exporting to these formats.
engine.priority 2
(0 ~ 4)
Specifies the CPU utilization priority for the engine. The performance of JReport Server is influenced by the usage of the CPU that the JReport engine can occupy. A larger share of CPU usage will speed up performance. To tune JReport Server to the best performance, you can modify this option to enable the engine to share a larger part of CPU usage when it is running.
engine.single_thread true Specifies that there should be only one thread when the engine is running.
engine.sort.buffer_size -1 Specifies the buffer size (MB) used in the RAM for each report when sorting on page reports in Page Report Studio. The minimal size required by JReport is 4 MB. The default value -1 means that the buffer size is controlled by the system automatically.
FTPS
ftps.keymanager.algorithm - Specifies FTPS key manager algorithm.
ftps.keystore.file - Specifies FTPS key store file.
ftps.keystore.password - Specifies FTPS key store password.
ftps.keystore.type - Specifies FTPS key store type.
ftps.trustmanager.algorithm - Specifies FTPS trust manager algorithm.
ftps.truststore.file - Specifies FTPS trust store file.
ftps.truststore.password - Specifies FTPS trust store password.
ftps.truststore.type - Specifies FTPS trust store type.
HTTPSERVER
httpserver.admin.port 8889
(1 ~ 65535)
A port used to configure and administer the server remotely. This port is where the servlet for remote administration (jet.server.servlets.RcServlet) listens.
httpserver.backlog 50 The maximum number of Client sockets that can be queued when waiting to be accepted by the JReport Server socket.
httpserver.dashboard.port 8887 Specifies the port for accessing JDashboard page.
httpserver.host.all true Specifies whether JReport Server listens on all network addresses.

For Linux environment, even if httpserver.host.all=true, at most one IP address can be retrieved because of JDK's own reason. In order to listen on more than one IP address on Linux, you need set httpserver.host.all=false, and then set the desired IP addresses separated by a blank as the value of httpserver.host.name, for example:

httpserver.host.all=false
httpserver.host.name=IP1 IP2 IP3

httpserver.host.name * If httpserver.host.all=false, use this property to specify IP addresses that JReport Server listens on.

By default this property does not appear in the server.properties file and you need add it manually if you want to use it.

httpserver.max.connections 1000
(1 ~ 2147483647)
The maximum number of connections that a standalone server can accept. New requests sent to a standalone server will be refused when the amount of connections that the server is processing exceeds this number.
httpserver.max.handlers 50
(1 ~ 2147483647)
The maximum number of user handlers that JReport Server can hold. JReport Server can respond to requests from the client-side simultaneously. The number of the executed requests is in inverse proportion to the speed of the response. The more requests that are executed, the slower the speed. To improve the running speed, you can set the maximum number of user handlers to a comparatively small number.
httpserver.name JREntServer/1.1 Specifies the HTTP Server name.
httpserver.port 8888
(1 ~ 65535)
Specifies the TCP port on which JReport Server listens when the server is started. This port can be an integer between 1 and 65535. However, numbers less than 1024 are usually reserved by system, so numbers larger than 1024 are recommended.
httpserver.redirect.propfile <install_root>\bin\redirect.properties Specifies the path and file name of the redirect property file.
httpserver.servlet.admin.propfile <install_root>\bin
\admin.properties
Specifies the path and file name of the RcServlet property file.
httpserver.servlet.propfile <install_root>\bin
\servlet.properties
Specifies the path and file name of the servlet property file. The core of JReport Server is jet.server.servlets.JRServlet, which implements the interface of javax.servlet.http.HttpServlet. You can install jet.server.servlet.JRServlet to any web server that supports servlets. This will turn the web server into a JReport Server.
httpserver.shutdown.timeout 0 Specifies a shut-down time limit for the HTTP Server, in seconds. When the time exceeds the specified duration when shutting down the HTTP Server, it will be forced to terminate. The HTTP Server will never be forced to terminate if it is set to 0.
httpserver.socket.timeout 0 Specifies Socket time line, in seconds. The default value 0 means infinite.
httpserver.ssl.admin.port 6889 The port used for visiting JReport Administration page via HTTPS schema. It should be different from the Administration Port for HTTP schema.
httpserver.ssl.algorithm sunx509 The X509 algorithm to use. This defaults to the Sun implementation (SunX509). For IBM JVMs you should use IbmX509.
httpserver.ssl.dashboard.port 6887 The port used for visiting JDashboard page via HTTPS schema. It should be different from the dashboard port for HTTP schema.
httpserver.ssl.enable false If true, you can use HTTPS schema to visit JReport Server UI in the standalone mode.
httpserver.ssl.keystore <install_root>\bin\keystore The location of the keystore file.
httpserver.ssl.keystore.password jinfonet The password used to protect the integrity of the keystore.
httpserver.ssl.keystore.type JKS The type of keystore to be instantiated. The valid values are JKS and PKCS12.
httpserver.ssl.port 6888 The port used for visiting JReport Console page via HTTPS schema. It should be different from the Port for HTTP schema.
httpserver.ssl.protocol SSL The encryption/decryption protocol to be used on the socket. The valid values are SSL and TLS.
httpserver.timeout 500
(1 ~ 2147483647)
Specifies the maximum number of milliseconds that a request from a client-side can be blocked before being refused by the server. If there are still no connection handlers free after the maximum number of milliseconds has been reached, the request will be refused back to the client.
httpserver.use_old_forward_method false Specifies whether to use old implementation for javax.servlet.RequestDispatcher.forward() or use new implementation.
JSP
jsp.webapp.sendfile /servlet/sendfile Specifies the sendfile servlet mapping path.
LOG
log.config.filename <install_root>\bin\LogConfig.properties Specifies the location (full absolute-path file name) of the logging configuration file.
log.config.update false Specifies to enable auto-update of logging configuration changes (by manually modifying the configuration file) at runtime. If set to true, any changes to the logging configuration file at runtime will automatically take effect after the specified update interval. Otherwise, any changes to the configuration file will not take effect until you restart JReport Server.
log.config.update.interval 60000 Specifies the interval value (in milliseconds) for when logging configuration changes will be auto-updated. This property will only function after the log.config.update property has been set to true.
MONITOR
monitor.cluster.refresh.interval 10000
(1 ~ 9223372036854775807)
Specifies the time interval (in milliseconds) for when the monitor statistics of the clustered server are updated.
monitor.interval 60
(1 ~ 9223372036854775807)
Specifies the time interval (in milliseconds) for the monitor thread.
monitor.maxminute.savereport 2
(1 ~ 2147483647)
Specifies the maximum time limit (in minutes) for a report status to be shown on the Finished tab.
monitor.maxnumber.savereport 20 Specifies the maximum number of completed reports that can be kept in the cache.
monitor.number.savereport 2
(1 ~ 2147483647)
Specifies the maximum completed report count that is to be shown on the Finished tab.
monitor.overtime.running 30000
(1 ~ 9223372036854775807)
Specifies the time limit (in milliseconds) of over-time running reports. For example, a report will be marked as a large report when its running time exceeds the time limit.
monitor.refresh.interval 10000
(1 ~ 9223372036854775807)
Specifies the time interval (in milliseconds) for when the monitor statistics of the server are updated.
monitor.server.web.url http://localhost:8848/monitor/index.jsp Specifies JReport Server Monitor URL, where the Monitor link on the system toolbar of the JReport Administration page (port 8889 by default) links to.
PERFORMANCE
performance.cacheallimg true Specifies to cache all the images that are used in reports.
performance.cachecat true Specifies to cache catalogs in the memory. More Info
performance.cacheimg true Specifies to enable the image cache function.
performance.cacherpt true Specifies to cache reports in the memory. More Info
performance.catpoolsize 10 Specifies the maximum number of catalogs that can be cached by the server. No further catalogs can be cached if the number of cached catalogs reaches this number.
performance.commit.interval 60 Specifies the time interval for when JReport Server will commit the changes in the Version list, Schedule list or Completed list. More Info
performance.commit.thread false Specifies to commit every change in the Version list, Schedule list or Completed list. More Info
performance.compressio false Specifies whether or not to compress the temporary data generated during runtime before it is swapped to disk. By compressing the swap files, the I/O efforts in certain circumstance may be considerably reduced so that the overall performance will be improved.

Note: Compressing swap files will increase CPU usage because it uses a compression algorithm to shrink data. If your system already has high CPU usage, enabling this option will increase CPU usage, depending on different circumstances, and such impact may overcome the performance gain that comes from reducing I/O time.

performance.exe_gc false Specifies whether to control garbage collection by JReport.
performance.html.pipeline false Specifies to enable the HTML pipeline function. More Info
performance.imgpoolsize 10 Specifies the maximum size for caching images, in MBs.
performance.loadfont false Specifies to pre-load fonts when JReport Server starts.
performance.max.reports 0 Specifies the maximum number of concurrent reports in the running queue. This number must be less than or equal to the number permitted by the license. Additional reports that are requested will be queued until space in the running queue is available. More Info
performance.preloadcatcls true Specifies to load catalog related Java classes when JReport Server starts.
performance.preloadedcats - Specifies the catalogs to be loaded when JReport Server starts.
performance.preloadedrpts - Specifies the reports that are to be loaded when JReport Server starts.
performance.preloadenginecls true Specifies to load engine related Java classes when JReport Server starts.
performance.preloadrptcls true Specifies to load reports related Java classes when JReport Server starts.
performance.rptpoolsize 10 Specifies the maximum number of reports that can be cached by the server. No further reports can be cached if the number of cached reports reaches this number. More Info
performance.showimgdetail true Specifies whether to display the detailed status of the cached images.
QUEUE
queue.accelerated 10,9 Specifies the priority levels of the waiting tasks that will be promoted to accelerated tasks. Accelerated tasks have higher priority than other tasks and run in a separate accelerated queue.

Set one or more priority levels separated by comma as the property value. The priority levels are from 1 to 10 in an ascending order with 10 having the highest priority and by default priority 9 and 10 tasks would be processed in the accelerated queue, not the normal running queue.

queue.accelerated.size 0 Specifies the maximum number of accelerated tasks in the accelerated queue.
queue.policy 0 Specifies the way of controlling queue. The valid property values are as follows:
  • 0 - Run tasks according to the time when they are started, following the rule of "First in, First out".
  • 1 - Run tasks according to their priority levels.
  • 2 - Increase the priority level of waiting tasks each time after a specified period. You need to set the property queue.policy.waitingtime in the server.properties file.
  • 3 - Increase the priority level of waiting tasks each time after the specified number of tasks are completed. You need to set the property queue.policy.readjust in the server.properties file.
queue.policy.readjust 4 You need to set this property when queue.policy=3. The property controls readjusting upward the priority of waiting tasks each time after the specified number of tasks are completed. The property value is measured by the completed tasks.
queue.policy.waitingtime 1200 You need to set this property when queue.policy=2. The property controls readjusting upward the priority of waiting tasks each time after a specified time period. The property value is measured in seconds.
RESOURCE
resource.default_public_catalog /SampleReports.cat Specifies the default public catalog that will be shown automatically when JReport Server is accessed using a web browser.
resource.result.life 86400 Specifies the time length for the temporary report result files to be kept after they have been generated. By default it is 86400 seconds (24 hours). 300 is the minimum number.

If time is out, all the files in the temp folder will be deleted except the files which are being used. The clock count returns to 0 and it counts periodically.

resource.root %ReportHome%\jreports Specifies the report root directories of the report resources. You should better set a different root directory for the report resources on each clustered server. This property is created in the server.properties file only when the server is started in a JReport cluster environment.
resource.share.hist.dir %ReportHome%\history Specifies the history directories of the report resources on the clustered servers. You should better set a different history folder to store the parameter information and versioning result files on each clustered server. This property is created in the server.properties file only when the server is started in a JReport cluster environment.
resource.share.properties.dir %ReportHome%\properties Specifies the properties directories of the report resources on the clustered servers.

This is a property which redirects the <install_root>\properties folder in a JReport Server Cluster environment. Each clustered server should use this property to redirect the properties folder to its own location.

This property is created in the server.properties file only when the server is started in a JReport cluster environment.

resource.share.realm.dir %ReportHome%\realm Specifies the realm directories of the report resources on the clustered servers.

Each clustered server should use an individual realm folder to store its security information, such as ACLs, groups, realms, and users. Realms and users are organized into a folder tree structure.

This property is created in the server.properties file only when the server is started in a JReport cluster environment.

resource.share.temp.dir %ReportHome%\temp Specifies the temporary directories of the report resources on the clustered servers.

Each clustered server should use an individual temp folder to store its temporary files generated during its working process, such as the result files generated when you run a report. All the files in the temp folder will be deleted when JReport Server restarts.

This property is created in the server.properties file only when the server is started in a JReport cluster environment.

resource.undefine.free true Specifies that any resource nodes not bound with an ACL are accessible.

By default this property does not appear in the server.properties file and you need add it manually if you want to use it.

SERVER
server.auto_recover_task.interval 30 Specifies the retry interval in seconds when trying to recover a task.
server.auto_recover_task.max_times 0 Specifies the maximum retry times when trying to recover a task.
server.auto_recover_task.recreate_all_results false Specifies whether to re-create all the result files when recovering a task.
server.autocache.enabled false Specifies whether to enable to automatically cache report data. For more about cached report data, see Managing cached report data. In JReport cluster environment this property will be saved in the server's system database and is not created in the server.properties file.
server.autocache.expired.time 0 Specifies the period an automatic cached data result is kept. This property takes effect when server.autocache.enabled=true and server.autocache.never.expire=false. In JReport cluster environment this property will be saved in the server's system database and is not created in the server.properties file.
server.autocache.max.disk.usage 512 Specifies the maximum hard disk space for automatic cached data. The value should be between 4 MB and 1024*1024 MB. This property takes effect when server.autocache.enabled=true. In JReport cluster environment this property will be saved in the server's system database and is not created in the server.properties file.
server.autocache.never.expire true Specifies whether automatic cached data never expires. This property takes effect when server.autocache.enabled=true. In JReport cluster environment this property will be saved in the server's system database and is not created in the server.properties file.
server.completed.max_count 3000
(0 ~ 2147483647)
Specifies the maximum number of completed records that will be kept the Completed table. Set the value to zero if you do not want to limit the record count. In JReport cluster environment this property will be saved in the server's system database and is not created in the server.properties file.
server.completed.write_in_queue false Before a scheduled task finishes, it will write a record into the completed task table. If there are a number of scheduled tasks running concurrently, it is possible that many tasks try to write records into the completed task table at the same time. It will become a bottleneck because the operation is synchronized, and it may block new tasks. To avoid this case, set server.completed.write_in_queue=true, all operations of writing into the completed task table will be performed in a separate thread one by one, and the scheduled tasks need not wait for the operation results to return.

By default this property does not appear in the server.properties file and you need add it manually if you want to use it.

server.connection.keepalive true Specifies to keep the connection alive after it has connected to JReport Server. Setting this property to false will disconnect the connection once it has received the response. That is, Internet Explorer will not hold the connection open.
server.crd.memory.usage 4 Specifies the maximum memory usage when running a report using cached report data. The minimum value is 4 MB and can be increased up to 80% of the total Java maximum heap size (for example, -Xmx value in JRServer.bat). All cached report data being used to run reports will share the same memory space.

For more about cached report data, see Managing cached report data.

In JReport cluster environment this property will be saved in the server's system database and is not created in the server.properties file.

server.cube.maxmemory 0.0 Specifies the allowed maximum memory size in megabytes for all in-memory cubes. The total allocated memory for each cube cannot exceed this value. It does not take into consideration the actual memory used by the in-memory or if some of the cubes are swapped to disk. This value should not be larger than 80% of your Java Heap size.

The value must be provided before the admin schedules a cube task for the first time. It can also be specified by the option Maximum Cube Memory Allowed in the Cube Configuration dialog.

server.cube_log.max_count 3000 Specifies the number of the records allowed to display on the JReport Administration page > Cube > Log tab.
server.dynamic.class.dir <install_root>\dynamicclasses Specifies a folder location on the server machine to hold all the UDS jar files, so that you can specify to load the classes from that folder.
server.enable.cachedreportbursting true Specifies the mode when scheduling a report with cached report bursting to publish it to the HTML and Page Report Result formats:
  • true - The scheduled result includes full data. Then when end users view the result, they will be displayed the data they are privileged to see according to the cached report bursting setting in the report.
  • false - The scheduled result only contains the data that the user who did the scheduling is allowed to see.

For details, see Scheduling to HTML/Page Report Result.

server.enableDynamicResource false Specifies whether to enable getting server resources from their real paths. However, when installing JReport Server, if you choose Custom Installation for Standalone Server and with the Enable Resources from Real Paths option checked, the default value of this property will be true.
server.enableMultipleLogin true Specifies that multiple sessions created by one user, can exist simultaneously.

If the value is true, a user can log onto JReport Server repeatedly without having to terminate any of his/her former sessions until the number of sessions reaches the number permitted by the license. If the value is false, only the newly created session is active, and all the other former sessions created by the same user will be terminated by JReport Server automatically. 

server.font.path <install_root>\font Specifies a font location for server resources.

By default this property does not appear in the server.properties file and you need add it manually if you want to use it.

server.get_remote_host false Specifies that JReport Server will automatically record and transmit the IP address of a client who has delivered a request to the engine.
server.http.output_encoding - Specifies the encoding of JReport internal servlets. By default, jrservlet uses the JVM's encoding.
server.http.param_values.delimiter semicolon (;)+ Specifies a delimiter to separate values when a parameter of a report contains multiple values. Valid delimiters include blank space (&nbsp;), comma (,), semicolon (;), quotes ("), colon (:), and braces ({}). By default, this property does not appear in the server.properties file. To use a delimiter that is different from the default, add this property to the server.properties file, and then set a value to it.
server.http.secure_cookie false Specifies whether or not to set the "Secure" attribute to cookies.

Generally only when using a secure protocol, such as HTTPS and SSL, can the browser send back the cookies with the "Secure" flag to the server. For non-secure protocols like HTTP, the secure cookies cannot be sent back. This prevents secure cookies from being observed by unauthorized parties. Therefore, when you are using a secure protocol, you can set this property to true; however if you are using a protocol like HTTP, you may need to keep this property false.

server.invalidate_httpsession_when_logout true Specifies whether to invalidate the session when the user logs out.
server.language en Specifies the language the server uses.
server.mail.send_size 2000 Specifies the maximum size in KB of the attachments in one e-mail sent by the server.
server.ondemandlist.clearrecord_lagging_time 300 Specifies the lagging time in seconds after when JReport Server clears up the UID's Background Tasks list after the last user who logged in with the UID logs out.
server.ondemandlist.user_max_records 100 Specifies the maximum number of records to display in the user's Background Tasks list. The oldest records will be removed when records exceed the specified number. When it is set to 0, unlimited records will be allowed in the user's Background Tasks list.
server.permission.algorithm 0
(0 and 1)
Specifies an algorithm for calculating a principal's permission. If the value is set to 0, the permission accumulation algorithm will be used. If it is set to 1, the user permission replacement algorithm will be used. More Info
server.profiling.enable false Specifies whether to enable the profiling system. If the profiling system is enabled, JReport Server will collect and store report running information to the profiling database. You can then view profiling report from JReport Server Monitor.
server.realm.active defaultRealm Specifies the realm that takes effect when the server starts up.

The specified realm should exist, otherwise the server will use an existing realm as active realm. The server will then record a warning message in the log file, and set the selected active realm by this property in the server.properties file.

In JReport cluster environment this property will be saved in the server's system database and is not created in the server.properties file.

server.resource.cleanup_user_folder true Specifies whether to remove a user's My Reports node (/USERFOLDERPATH/UserID) from the server resource tree when the user is deleted from the security system.
server.resource.enable_linked_catalog false When the property is set to true, you can pre-define a linked catalog in the server level for the My Components, Public Components, My Reports and Public Reports folders to inherit.

If the property is set to false as default, the My Components, Public Components, My Reports and Public Reports folders cannot inherit linked catalog.

server.restore.task false Specifies to re-run all interrupted tasks upon restarting the server, in the event of the server crashing.
server.rmi.auth_file - This property enables the server.properties file to locate the rmi.auth file by specifying a path of it, for example, C:\JReport\Server\bin\rmi.auth. By default, this property does not appear in the server.properties file. In order to enable the server.properties file to locate the rmi.auth file, add this property to the server.properties file, and then specify a directory as its value.
server.rmi.host localhost IP address Specifies the RMI IP address or host name of the local server.
server.rmi.port 1129
(1 ~ 65535)
Specifies the RMI port that the local server uses.
server.rmiadminservice.enable false Specifies whether the JReport Server can be administered from a remote client via RMI APIs.
server.rmimonitor.enable true Specifies whether the JReport Server is monitorable by a JReport Server Monitor.

Note: Setting this property to true takes the same effect as setting both server.rmiadminservice.enable and server.rmiserver.enable to true. You can see the message "RMI Report Server started." in the command window when you start up JReport Server.

server.rmiserver.enable false Specifies whether to enable the remote method invocation server.
server.rmiserver.fixed_port 0 Specifies a port for exporting server remote objects. If the value is 0, an anonymous port will be used.

When JReport Server resides behind a firewall, the only way to pass through the firewall in order to obtain the remote objects from the client side is to use an open port while the remote method invocation server is enabled. This property allows you to specify a fixed port that you can open in the firewall setting.

server.rolebased.authorization false Specifies whether to activate the role based security in replace of the default applied security of setting permissions for users, groups and roles. In the role based security, permissions are defined on roles only, and users and groups are mapped to roles.
server.security true Specifies whether to enable security checking on remote requests. When it is set to false, responses will be made without any security checking. This does not apply to Remote Configuration and Administration. In JReport cluster environment this property will be saved in the server's system database and is not created in the server.properties file.
server.security.advanced_password.contains_lowercase false Specifies whether to include lowercase letters in the password when JReport's built-in password rule is applied. If it is set to true, the password must contain at least one lowercase letter.
server.security.advanced_password.contains_number true Specifies whether to include numbers in the password when JReport's built-in password rule is applied. If it is set to true, the password must contain at least one Arabic numeral.
server.security.advanced_password.contains_symbol false Specifies whether to include symbols in the password when JReport's built-in password rule is applied. If it is set to true, the password must contain at least one character that is not defined as letter, numeral or space.
server.security.advanced_password.contains_uppercase true Specifies whether to include uppercase letters in the password when JReport's built-in password rule is applied. If it is set to true, the password must contain at least one uppercase letter.
server.security.advanced_password.enabled true Specifies whether to enable the advanced password rule for JReport Server.
server.security.advanced_password.limited_min_length true Specifies whether to enable setting minimum number of characters that can be used in the password when JReport's built-in password rule is applied.
server.security.advanced_password.min_length 8 Specifies the minimum number of characters that can be used in the password when JReport's built-in password rule is applied. The number specified here should be larger than the password minimum length defined for all users created on the Security > User panel.
server.security.advanced_password.user_defined_rule false Specifies whether to enable the user defined password rule. If it is set to true, the user defined password rule will be applied; if false, then JReport's built-in password rule will be applied.
server.security.group.cache.size 50 Specifies the number of group objects that can be stored in the security cache. The value should be an int.
server.security.protection.cache.size 100 Specifies the number of ACL (Access Control List) objects that can be stored in the security cache. The value should be an int.
server.security.role.cache.size 50 Specifies the number of role objects that can be stored in the security cache. The value should be an int.
server.security.user.cache.size 1000 Specifies the number of user objects that can be stored in the security cache. The value should be an int.
server.session.timeout 1800000 Specifies a timeout limit for when the client cannot send requests to JReport Server. The server will log the client out after timeout. The default session timeout is 1800000 seconds, which is 500 hours.
server.temp.max_file_per_folder 500 JReport Server will create sub folders in the <install_root>\temp directory to put temporary files which are for holding bursting data only. This property controls the maximum number of temporary files in one folder.

By default this property does not appear in the server.properties file and you need add it manually if you want to use it.

server.ui.set_permission.group false Specifies whether to display group permissions in the permission setting UI for the server resource tree node and Version Properties, and the Scheduling to Version and Advanced Run dialogs.
server.ui.set_permission.role true Specifies whether to display role permissions in the permission setting UI for the server resource tree node and Version Properties, and the Scheduling to Version and Advanced Run dialogs.
server.ui.set_permission.user false Specifies whether to display user permissions in the permission setting UI for the server resource tree node and Version Properties, and the Scheduling to Version and Advanced Run dialogs.
server.url.help /help/userguide/server/index.htm Specifies the help documentation URL the Help button links to. This button is located on the upper-right corner of the JReport Console page and JReport Administration page.
server.url.tutorial /help/tutorial/index.htm Specifies JReport Tutorial documentation URL.
server.url.website http://www.jinfonet.com Specifies the website URL the Jinfonet Home button links to. This button is located on the upper-right corner of the JReport Console page.
server.version.from.temp false Specifies to enable the "Publish to Version System" option when previewing a report result. In JReport cluster environment this property will be saved in the server's system database and is not created in the server.properties file. More Info
server.version.max_amount_per_subfolder 3000 Specifies the maximum amount of subfolders in each subfolder in the history folder. More Info
server.version.retain.paramfile false Specifies to retain the parameter file (if there is one) when an archive version is removed from the version table. If set to true, the parameter file will be kept in the history folder.
server.version.show.paramcontents false Specifies to show the parameter contents in the version table. If set to true, a new column named Parameter Contents will be added to the version table.
server.version.subfolder_amount 100 Specifies the number of the server history folders.
TASK
task.duration.check_cycle 30 Specifies task duration check frequency in seconds. By default, JReport Server checks task duration every 30 seconds. Note that the value must be an integer greater than 0.
task.duration.enable false Specifies whether to enable setting a time duration for a task and asking JReport Server to cancel the task or to notify you or someone else of the task status via e-mail if the task has not yet finished running when the task duration is up.

If the value is set to true, the Duration tab will be available in the Advanced Run and Schedule dialogs.

task.initial.priority.ondemand
7 Specifies the default priority level for the direct or advanced running tasks. The priority levels are from 1 to 10 in ascending order of lowest priority to highest priority. This property is available to administrators. By default this property is ignored unless server.properties is modified to set queue.policy not equal to 0.
task.initial.priority.schedule 5 Specifies the default priority level for the scheduled running tasks. The priority levels are from 1 to 10 in ascending order of lowest priority to highest priority. This property is available to administrators. By default this property is ignored unless server.properties is modified to set queue.policy not equal to 0.
WEB
web.design_servlet_path /webreporting Specifies the web design servlet mapping path.
web.dhtml_jsp_path /dhtmljsp Specifies the mapping path of the Page Report Studio JSP files.
web.dhtml_servlet_entry_path /jrdhtml Specifies the Page Report Studio servlet mapping path for loading reports.
web.dhtml_servlet_path /dhtml Specifies the Page Report Studio servlet mapping path.
web.force_excel_download_dialog false If true, a File Download dialog will be displayed asking to either open the report or save the report result file after activating a direct running task or submitting an advanced running task as the Excel format.

If false, the report is opened directly.

web.force_pdf_download_dialog false If true, a File Download dialog will be displayed asking to either open the report or save the report result file after activating a direct running task or submitting an advanced running task as the PDF format.

If false, the report is opened directly.

web.force_ps_download_dialog false If true, a File Download dialog will be displayed asking to either open the report or save the report result file after activating a direct running task or submitting an advanced running task as the PostScript format.

If false, the report is opened directly.

web.force_rtf_download_dialog false If true, a File Download dialog will be displayed asking to either open the report or save the report result file after activating a direct running task or submitting an advanced running task as the RTF format.

If false, the report is opened directly.

web.force_text_download_dialog false If true, a File Download dialog will be displayed asking to either open the report or save the report result file after activating a direct running task or submitting an advanced running task as the Text format.

If false, the report is opened directly.

web.force_xml_download_dialog false If true, a File Download dialog will be displayed asking to either open the report or save the report result file after activating a direct running task or submitting an advanced running task as the XML format.

If false, the report is opened directly.

web.help_servlet_path /help Specifies the Page Report Studio help servlet mapping path.
web.ie.login.use_new_realm_name false Web browser remembers user name and password automatically, which allows you to log in without having to input user name and password. When this property is set to true, JReport Server requires a new realm name, then the user name and password that web browser remembers cannot log in.
web.jreport_servlet_path /jrserver Specifies the JReport servlet mapping path.
web.monitor.link.enable true Specifies to enable and display the Monitor link on the system toolbar of the JReport Administration page. The link is an entry to JReport Server Monitor UI in JReport Server.
web.page.option.convert.encoding true Specifies whether to display the Enable Converting Encoding option in the Advanced Run and Schedule dialogs.
web.page.option.db true Specifies whether to display the report's DB setting options in the Advanced Run and Schedule dialogs.
web.page.option.encoding true Specifies whether to support encoding in Advanced Run mode.
web.page.option.rootdir_of_folder_selector - Specifies a valid folder path in which folders can be browsed through a JSP folder selector when admin users publish resources locally from a client machine. If the value is null, the whole file system can be browsed. In the server publishing mechanism, only admin users are able to publish resources locally from a client machine, and can browse the server machine's file system by folder selector.
web.page.option.show_catalog false Specifies to display catalogs on the JReport Console page (port 8888 by default).
web.page.option.show_name_with_postfix true Specifies whether to show the resource name extension in the resource tree on the JReport Server Console page.
web.page.option.stylegroup true Specifies to display the Enable Style Group option in the Advanced Run and Schedule dialogs.
web.page.option.tasklistener true Specifies to support task listener.
web.page.option.to_applet true Specifies to support running in Applet format in Advanced Run mode.
web.page.option.to_dhtml true Specifies to support running in Page Report format in Advanced Run mode.
web.page.option.to_excel true Specifies to support running in Excel format in Advanced Run mode.
web.page.option.to_html true Specifies to support running in HTML format in Advanced Run mode.
web.page.option.to_pdf true Specifies to support running in PDF format in Advanced Run mode.
web.page.option.to_ps true Specifies to support running in PostScript format in Advanced Run mode.
web.page.option.to_rtf true Specifies to support running in RTF in Advanced Run mode.
web.page.option.to_text true Specifies to support running in Text format in Advanced Run mode.
web.page.option.to_xml true Specifies to support running in XML format in Advanced Run mode.
web.page.option.use_relative_app_url true Specifies whether the URLs contained in the HTML contents returned by JReport Server uses relative paths. When the value of this property is set to true, it will avoid problems caused by you having a proxy server between JReport Server and their clients.
web.skin.dir /skin There is a folder named "skin" in <install_root>\public_html. It contains all files concerning Page Report Studio skin. In integration environment, this folder is relative with context path, for example, after deploying jreport.war to an application server this value will be changed to /jreport/skin automatically.
web.timeouts.report_wait 170 Specifies the try-view time limit (in seconds). Any running report (submitted using the Run or Advanced Run command) will be considered as a large report and put into the Background Tasks list after the time limit.
web.version.mark_unviewed true Specifies whether to mark the unviewed version results in bold.
web.viewer.option.show_name_with_postfix true Specifies whether to show the resource name extension in the resource tree on Web Report Studio, Page Report Studio and JDashboard.

performance.cachecat and performance.cacherpt

The process for viewing reports is a combination of both loading reports from disk and generating report files. It is obvious that skipping either one of these two steps will shorten the elapsed time. JReport Server enables you to cache reports and catalogs in memory, so that you do not have to load them from disk, thereby improving performance.

performance.commit.thread and performance.commit.interval

When the value of the performance.commit.thread property is false, JReport Server will commit every change in the Version list, Schedule list and Completed list immediately. For example, upon deleting a scheduled task in the Schedule list, JReport Server will commit the action and refresh the Schedule list. If this value is set to True, JReport Server will only commit changes in the Version list, Schedule list or Completed list in the specified interval. By doing this, you can avoid frequently overwriting any related files in JReport Server, thereby improving performance.

The performance.commit.interval property takes effect only when the performance.commit.thread property is set to True.

performance.max.reports

This property allows you to customize the maximum number of concurrent reports, including background run reports and scheduled reports.

It is meaningful to set this property if your license permits a large number of concurrent reports and you want a smaller maximum number of concurrent reports. Typically the JReport license allows an unlimited number of concurrent reports which can cause too many reports to complete for system resources at the same time.

The valid value range is between 0 and the maximum number of concurrent reports permitted by the license. Setting the property to a suitable value in accordance with your computer's usage will lead to marked improvement in performance. For example, if you have an unlimited license and you don't use queue control, the running speed may be comparatively slow. To achieve better performance, you can set performance.max.reports = 4, so that only four reports run at the same time, while the other reports wait in the queue until one of the four has finished.

By default the property value is 0, which means that the maximum number of concurrent reports depends on the license you have purchased. For example, if you have a 20-report license, it will be up to 20 reports that can be running concurrently. Additional report requests will be placed into a waiting queue.

performance.html.pipeline

To speed up report delivery, JReport Server delivers a single page of content at a time. The JReport Engine outputs the content of the result in an HTML file to the web browser as soon as a single page has finished processing, while the rest of the report continues to be processed.

Note: Data such as Total Page Number displayed in one page is temporary, and is called dirty data. When data in a chart spans across one page, it is also displayed with dirty data. Dirty data is refreshed when the JReport Engine finishes processing.

performance.rptpoolsize

Each cached report uses some heap memory. If the heap memory is used up, an OutOfMemoryException will be thrown.

Flag -Xms specifies the initial heap size and flag -Xmx specifies the maximum heap size. For example, -Xms256m -Xmx512m means that the initial heap size is 256M and the maximum heap size is 512M.

You can refer to Java Virtual Machine documentation for more information.

server.permission.algorithm

Specifies an algorithm for calculating a role, user or group's permission. Two algorithms are supported:

server.version.max_amount_per_subfolder

Specifies the maximum amount of subfolders in each subfolder in the history folder.

By default, JReport Server creates 100 folders in the history folder (<reporthome>\history), and each of these folders can further contain 3000 subfolders (also set by this property). However, these subfolders cannot hold any further subfolders.

First, JReport Server puts the history information, such as archive versions and parameter files, in folder 1. When the amount of subfolders in folder 1 has reached the maximum subfolder amount, it starts to put files in folder 2. When folder 2 is filled up, folder 3 will be used, then folder 4, folder 5, and so on, until all 100 folders have all been filled up.

When all 100 folders have been filled up with subfolders, JReport Server will create another 100 folders, named 101 to 200, and continue storing the history information in these folders, starting with folder 101. When the second 100 folders are full, another 100 folders will be created, then a fourth 100 folders, a fifth 100 folders, and so on.

server.version.from.temp

Specifies to enable the Publish to Versioning System option when previewing a report.

This property functions the same as the Enable "Publish to Versioning System" for Background Tasks View option in the Configuration > Advanced panel of the JReport Administration page.

If the value is set to true, a link Publish to Versioning System will be added to the upper-left corner of the report preview page (preview a report result using the Run command). Click the link to publish the result to version in the current format.