Where does it Go in IS MEMORY ???

Hello Friends,

Just a query, we see two flow services in WmPublic Folder:

1) pub.flow:savePipeline
2) pub.flow:savePipelineToFile

IS Documentation says a snapshot of all pipeline fields will be saved in memory under the key provided by $name.

My Question here is where in memory does this pipeline gets saved?

I tried to save one file “memory.xml” using this savePipeline Service.
But when I tried to search the entire IS folder, I was not able to see this file created anywhere. Not in Pipeline folder too.

:slight_smile: But I could retrieve the contents using pub.flow:restorePipeline service. Can anyone help me in understanding where in memory does this pipeline file gets saved?

Thanks,
Johnrose
[FONT=Arial][SIZE=5][FONT=Arial][SIZE=5]

[/size][/font][/SIZE][/FONT]

Hi,
it is stored in a static Hastable of the pub.flow class.
Basically like any java Object, it is stored on the heap.

Hello Jide,

Thanks for replying to my thread. I have few followup queries on the same.

  1. When you say it is stored as static Hastable of the pub.flow class, does it store it in any physical location, or it just reads them from memory during Run-Time ?

  2. Can you please guide me to the documents/website from where you could get this information.

Thanks once again.

Johnrose.

  1. no, as stated in the official documentation of the service:

After a successful invocation of savePipeline, a snapshot of all pipeline fields will be saved in memory under the key provided by $name. Note that since the pipeline is saved to memory, it will not be available after a server restart.
it only appears in the memory of the JVM. Therefore as the JVM (roughly equivalent to the IS) is shut down, it is just lost. It may be important to note that until then, it stays in memory, so it may not be wise to store large pipelines and/or a great number of them this way.

  1. Actually I decompiled the flow.class file to see the implementation directly :wink: now that I think of it I don’t know if that’s legal…

John,
I think you might be confusing the two services. They store the pipeline differently depending on which one you call. savePipeline goes to memory, savePipelineToFile goes to the filesystem.

If you want to see the pipeline on the filesystem then call savePipelineToFile. It generally puts it in a directory called pipeline under the integrationserver folder with the name that you give it.

True.
For detailed description of the four services please refer webMethods Integration Server Built-in Services Reference.pdf

Cheers,
Pramod