Submitted by Anonymous (not verified) on Wed, 05/14/2014 - 00:00
Forums

Hi,

I am using ILOB’s when creating SOAP services in IceBreak. However I was wondering if ILOBS must be explicitly closed when I leave the program with *INLR = *ON?

Niels Liisberg

Wed, 05/14/2014 - 00:00

Hi,

In IceBreak ILOB’s (Internal Large Objects) are assigned by name to the session. So the short answer is: no, you don’t have to close the ILOB, rather it will automatically be destroyed when your session ends – actually it will be freed by the Garbage collector in IceBreak CORE.

Also notice that ILOB is accessed by name . i.e. The data is global persistent within your job assigned by a name. So even if your program terminates with *INLR = *ON you can still access the same data in the ILOB when you re-assign a pointer to it with the sesGetILOB(’name’).

The behavior is similar to having data (files / data areas / userspaces) in QTEMP – When your job ends, your QTEMP disappears, but as long your job runs you can still reopen any files in QTEMP from any program despite it ends with *INLR = *ON.

Just for the record: ILOB’s are not objects in QTEMP but rather a part of the IceBreak session – so even if the job that handles your session ends, you still have your data in ILOB's when a new job is assigned to your IceBreak session – just like session variables.

Hope that clarifies the use of ILOB’s – and by the way: Great job !!

Best regards,
Niels Liisberg