I am using jasperstarter from a Python environment. Presently, this is most conveniently done via a Python packagepyreportjasper which nicely handles the jasperstarter installation etc. The results are functionally great, but there are two non-functional issues I need API access to resolve:
I am calling jasperstarter multiple times from a server, and the JVM startup overhead can easily be 10+ seconds, which, when spinning up 10+ reports in parallel adds up to a lot of overhead.
Any errors of course go through the subprocess command handling, and nice exceptions get turned into ugly mush
Therefore, I'd like to expose the Report and Config objects through jpy. This basically requires the constructors to be marked "public" and setXXX() methods adding to Config. I've done this experimentally and, as expected, the per-run startup overhead disappears completely. Here is an example of the Python code: