| Re: [m2m-atl-dev] ATL 3.0 architecture & ASMEMFModel Memory leak comes back to haunt? |
The ATL_Dynamic_ResourceSet branch is now merged.
-- Dennis
I commited the patch, so you can work on it.
William
Dennis Wagelaar a écrit :Hello William, ATL devs,
First of all, thanks for the quick answer! I put my reply at the bottom:
On 12 Dec 2008, at 15:28, William Piers wrote:Hello Dennis,
Answers below: Dennis Wagelaar a écrit :*snip*I encountered this problem too... so I add an option to clear the resourceSet after each transformation run. It's definitely not the better solution...I agree with your demonstration. A solution could be to make the EMFModelFactory "dynamic":
What are your opinions on this? William: what do you think of an architecture change that involves something like a ModelLoader?
* in CoreService, no more registry for it, but a "createModelFactory(String modelFactoryName)" method.
* in the EMFModelFactory, a non-static ResourceSet.
So the EMFModelFactory is transparently linked with its ResourceSet instance, and is recreated for each launch.
Note that a programmatic launch (or another launching tool, like ant) can provide the same behaviour as before is necessary, by keeping the same factory into chained transformation.
Would you agree with that? I tested an implementation and attached a patch to this mail if you want to see details.
Thank you for your feedback!
William
I agree with this idea, thanks! As far as I'm concerned, you may commit this change to CVS, after which I can work in the extra changes w.r.t. the finalize() methods and wrapping the updated ASM-based plugins. It's important to get this one right as soon as possible, regarding the global impact that these changes have ;-).
Cheers, Dennis
Attachment:
am3-anttasks-dennis-20081216.zip
Description: Zip archive