Checking in and compiling RDMLX function that run via JSMDirect may require Web server restart
|Date:||10 July 2006|
|Product/Release:||LANSA Integrator V11.0|
|Abstract:||Checking in RDMLX function results in Process not getting found in the reused job|
|Submitted By:||LANSA Technical Support|
Checking in a RDMLX function causes the previously run LANSA Integrator function to not run anymore.
Symptoms of the problem include:
- Tried to refer to all or part of an object that no longer
Function check. MCH3402 unmonitored by DC@P00L2 at statement *N, instruction X'023D'.
- The following message is shown in the HTTP Server job log
No data returned from service
- No Integrator traces are produced at all when previously they were getting generated.
The issue is that prior to checking in a particular RDMLX function, the same function was executed and the CGI-job that was used to run it is currently in an active/ Time wait state, waiting to run another request.
Checking in the function and running the JSMDIRECT request again, causes the job to not recognize the changed internal reference, hence not executing the service function.
For RDML Functions:
If you use *Direct to specify process name in DC@W29, you do NOT need to restart http server after a check in and re-compile.
If you use the process name, you DO have to restart the http server.
Since you can not use *Direct, you must use the process name and therefore must restart the http server.
There may be various ways to resolve this issue, the easiest and the most straight-forward being to restart the Web server or end the particular HTTP CGI-job that ran the function in question last. Other options are options that relate to configuring the way the jobs run on the server:
- set the job timeout to a low value such as 2 or 3 minutes, i.e.
enough time to perform some code changes, recheck in and re-execute.
- perform a Web Cleanup - this is okay if you are the only one currently testing with this Web server, not recommended if multiple developers are using same server.