How to make sure that a resource is written [message #617809] |
Thu, 03 September 2009 13:00 |
Roland Brand Messages: 42 Registered: July 2009 |
Member |
|
|
Hi all
I'm trying to read an EMF resource. In case it does not exist, I create a
new one, add some default content to it and call save().
Now I've got the problem, that after the save(), the resource might still
not exist and an IOException is thrown when I try to load the resource. It
seems like a race condition to me, since it never occurs in the debugger.
So I helped myself with the following loop:
while
(!resource.getResourceSet().getURIConverter().exists(resourc e.getURI(),
Collections.EMPTY_MAP))
{
System.out.println("save it");
resource.save(saveOptions);
}
It is now clear, that save() does not guarantee the existence of the
resource after it has been called. I have seen up to 30 executions of the
while-loop until the resource finally existed.
My question is: how can I make sure, that the new resource really exists?
The while-loop does not look like a nice solution to me. Or am I
misunderstanding something?
Thanks for your helpful posts ;-)
Roland
|
|
|
Powered by
FUDForum. Page generated in 0.01787 seconds