• 1 reply
  • Latest Post - ‏2014-05-01T16:11:21Z by TFQC_Jeremy_Flicker
1 Post

Pinned topic preprocessor run in RDZ's VM

‏2014-04-25T13:56:47Z | preprocessor


as I understand, a preprocessor is started as sub-process by RDZ. For preprocessors written in Java, this requires each time a start of a Java virtual machine.

RDZ itself is a Java program. Is it possible to have the preprocessor being executed in RDZ's VM?

If that does not work I'm thinking of implementing the preprocessor as little (and fast starting) C program that delegates over the network to a standing server process written in Java.



  • TFQC_Jeremy_Flicker
    13 Posts

    Re: preprocessor run in RDZ's VM


    If we are talking about the Local Preprocessors that are specified in the in the Local Preprocessor section of the Property Groups, and used for builds and the Identify Preprocessor Statements features, yes these are all specified as as external independent executables and all run outside the JVM.

    Starting in RDz 9.0.1, there is an extension mechanism for plugin developers to provide custom logic to identify the location and translation of preprocessor statements for COBOL and PL/I files while editing them using either an LPEX-based editor, the COBOL Editor, or the PL/I Editor.   This mechanism does not require an actual output file be generated, we just need a list of the lines transformed and the result of those translations.  This calculation will run in the RDz JVM.

    I am not sure if that is a good match for you, but its worth mentioning.  If you have access to the source code of your Java preprocessor, you may be able to figure out how to link it all together.  I think its documented under the References section of the RDz infocenter (unfortunately its offline at the moment).

    There is support for remote execution of a preprocessor using, for example, a REXX script, if you are working with Remote Files, if that is interesting to you.

    But yeah, there is nothing stopping you from building your own preprocessor as a cloud service or something and invoking it from RDz as a local preprocessor executable, if you think it will improve the performance of your preprocessor execution.