Add delay-retry loop for handling temporarily locked image file writes

This commit is contained in:
Mike Primm 2011-06-20 16:58:07 -05:00
parent 6efbf3a3df
commit e584e3202b
3 changed files with 34 additions and 5 deletions

View file

@ -265,7 +265,7 @@ public class DefaultTileRenderer implements MapTileRenderer {
if(!fname.getParentFile().exists())
fname.getParentFile().mkdirs();
try {
ImageIO.write(img.buf_img, "png", fname);
FileLockManager.imageIOWrite(img.buf_img, "png", fname);
} catch (IOException e) {
Debug.error("Failed to save image: " + fname.getPath(), e);
} catch (java.lang.NullPointerException e) {
@ -291,7 +291,7 @@ public class DefaultTileRenderer implements MapTileRenderer {
if(!dfname.getParentFile().exists())
dfname.getParentFile().mkdirs();
try {
ImageIO.write(img_day.buf_img, "png", dfname);
FileLockManager.imageIOWrite(img_day.buf_img, "png", dfname);
} catch (IOException e) {
Debug.error("Failed to save image: " + dfname.getPath(), e);
} catch (java.lang.NullPointerException e) {
@ -365,7 +365,7 @@ public class DefaultTileRenderer implements MapTileRenderer {
zoomFile.getParentFile().mkdirs();
try {
ImageIO.write(zIm, "png", zoomFile);
FileLockManager.imageIOWrite(zIm, "png", zoomFile);
Debug.debug("Saved zoom-out tile at " + zoomFile.getName());
} catch (IOException e) {
Debug.error("Failed to save zoom-out tile: " + zoomFile.getName(), e);