We’re trying to use dynamic java connector for JDE9.0 and facing issue of increased Handles count for the process.
Scenario:
Calling Dynamic JDE connector in parallel with multiple calls simultaneously.
The implementation process of executing BSFN is as follows:
1) Login method has all credentials and return sessionID
int sessionID =
Connector.getInstance().login(username.trim(), password.trim(), env.trim(), role.trim());
…
2) ExecuteBSFN has input parameters as module, bsfnName and inputfile (input data to bsfn)
…..
ExecutableMethod execMethod = bsfnMethod.createExecutable();
execMethod.resetValues();
Map<String, String> input = inputParams(moduleName, bsfnName, inputFile);
if(input != null)
execMethod.setValues(input);
CallObjectErrorList errorList = execMethod.executeBSFN(sessionID);
Map output = execMethod.getValues();
….
3) Logout:
Connector.getInstance().logoff(sessionID);
In this case we observed that Handles count for the process keeps on increasing even though we used logoff() method and eventually leads to OutOfMemory.
In Order to resolve this issue in logout implementation, after doing logoff we called:
Connector.getInstance().shutDown();
In this case we observed that on it throws null pointer exception for subsequent calls. Does anyone know how to overcome this situation?