Skip to Content

With thin client is there a way to update and push changes to programs live (on the fly), without having to kill and restart the isCOBOL Server?

Estimated Reading Time: 1 Minutes

The JVM keeps copies of the classes in a memory cache and generally does not reload them from disk even if the disk file is replaced.
However, the Application Server has several options for reloading programs if those programs were loaded from iscobol.code_prefix.

You configure this behavior by setting iscobol.code_prefix.reload.

The default value, iscobol.code_prefix.reload=1, will cause the Application Server to look at the date and time of each program before running it.
If the date and time don't match the cached program, the Application Server will reload the program automatically before running it, using C$UNLOAD in the background.

You can control this process manually by setting iscobol.code_prefix.reload=0. Then you can unload these cached programs in the Application Server panel or programmatically with C$UNLOAD, which will force the Application Server to reload them.
Only those you manually unload will be reloaded.

In the screen shot of the Application Panel below, the second line shows a program with a different date and time than the cached class.
You can unload this by selecting the line (click on it), and then clicking on "Unload Selected".

If you sent iscobol.code_prefix.reload=2, a call to C$UNLOAD (programmatically or through the Application Server panel) will unload all cached classes.
This can cause a performance slowdown for the next client that connects, because each program has to be loaded again.
The Application Panel will unload all classes instead of showing the screen above.

Note: that programs loaded from the CLASSPATH can't be unloaded and won't be reloaded until you restart the Application Server.

With thin client is there a way to update and push changes to programs live (on the fly), without having to kill and restart the isCOBOL Server?