Hi!
I have a problem that seemingly occurs when calling Cobol from Java.
Note that we still use Net Express 3.1 and the mfcobol.jar that comes with it.
We have a Java application that acts as a server and calls procedural cobol to do the business logic.
With every call to cobol, the memory usage of the process gets bigger and bigger.
I checked the java heapdumps, but i couldn't find anything suspicious there.
The called program is packaged in a dll and loaded with runtime.cobload().
The dll is linked with options shared,dynamic and multi-threaded.
All calls are done with runtime.cobcall_int(...) and the parameter types are always the same (an object array of one string and 2 StringBuffers).
The Cobol program itself uses a thread-local-storage and calls several procedural sub-programs, all of which use working-storage sections.
Does anyone have a clue of what is happening here or what i am missing?
Do i have to use runtime.cobfinalize() on objects that i passed as parameters for the call?
The strange thing is that i get an UnsatisfiedLinkError when i try to call it:
java.lang.UnsatisfiedLinkError: mfcobol.runtime.cobfinalize(Ljava/lang/Object;)V
I'm not a Cobol programmer, and totally at a loss here.
Any help would be appreciated!
#netexpress
#mfcobol.jar
#cobload
#COBOL
#Java




