1.1 --- a/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/mimepull/WeakDataFile.java Thu Apr 04 19:05:24 2013 -0700 1.2 +++ b/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/mimepull/WeakDataFile.java Tue Apr 09 14:51:13 2013 +0100 1.3 @@ -1,5 +1,5 @@ 1.4 /* 1.5 - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. 1.6 + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 1.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 1.8 * 1.9 * This code is free software; you can redistribute it and/or modify it 1.10 @@ -33,6 +33,7 @@ 1.11 import java.util.ArrayList; 1.12 import java.util.List; 1.13 import java.util.concurrent.Executor; 1.14 +import java.util.logging.Level; 1.15 import java.util.logging.Logger; 1.16 1.17 /** 1.18 @@ -53,16 +54,20 @@ 1.19 static { 1.20 CleanUpExecutorFactory executorFactory = CleanUpExecutorFactory.newInstance(); 1.21 if (executorFactory!=null) { 1.22 - LOGGER.fine("Initializing clean up executor for MIMEPULL: " 1.23 - + executorFactory.getClass().getName()); 1.24 + if (LOGGER.isLoggable(Level.FINE)) { 1.25 + LOGGER.log(Level.FINE, "Initializing clean up executor for MIMEPULL: {0}", executorFactory.getClass().getName()); 1.26 + } 1.27 Executor executor = executorFactory.getExecutor(); 1.28 executor.execute(new Runnable() { 1.29 + @Override 1.30 public void run() { 1.31 - WeakDataFile weak = null; 1.32 + WeakDataFile weak; 1.33 while (true) { 1.34 try { 1.35 weak = (WeakDataFile) refQueue.remove(); 1.36 - LOGGER.fine("Cleaning file = "+weak.file+" from reference queue."); 1.37 + if (LOGGER.isLoggable(Level.FINE)) { 1.38 + LOGGER.log(Level.FINE, "Cleaning file = {0} from reference queue.", weak.file); 1.39 + } 1.40 weak.close(); 1.41 } catch (InterruptedException e) { 1.42 } 1.43 @@ -107,22 +112,36 @@ 1.44 } 1.45 1.46 void close() { 1.47 - LOGGER.fine("Deleting file = "+file.getName()); 1.48 + if (LOGGER.isLoggable(Level.FINE)) { 1.49 + LOGGER.log(Level.FINE, "Deleting file = {0}", file.getName()); 1.50 + } 1.51 refList.remove(this); 1.52 try { 1.53 raf.close(); 1.54 - file.delete(); 1.55 + boolean deleted = file.delete(); 1.56 + if (!deleted) { 1.57 + if (LOGGER.isLoggable(Level.INFO)) { 1.58 + LOGGER.log(Level.INFO, "File {0} was not deleted", file.getAbsolutePath()); 1.59 + } 1.60 + } 1.61 } catch(IOException ioe) { 1.62 throw new MIMEParsingException(ioe); 1.63 } 1.64 } 1.65 1.66 void renameTo(File f) { 1.67 - LOGGER.fine("Moving file="+file+" to="+f); 1.68 + if (LOGGER.isLoggable(Level.FINE)) { 1.69 + LOGGER.log(Level.FINE, "Moving file={0} to={1}", new Object[]{file, f}); 1.70 + } 1.71 refList.remove(this); 1.72 try { 1.73 raf.close(); 1.74 - file.renameTo(f); 1.75 + boolean renamed = file.renameTo(f); 1.76 + if (!renamed) { 1.77 + if (LOGGER.isLoggable(Level.INFO)) { 1.78 + LOGGER.log(Level.INFO, "File {0} was not moved to {1}", new Object[] {file.getAbsolutePath(), f.getAbsolutePath()}); 1.79 + } 1.80 + } 1.81 } catch(IOException ioe) { 1.82 throw new MIMEParsingException(ioe); 1.83 } 1.84 @@ -130,9 +149,11 @@ 1.85 } 1.86 1.87 static void drainRefQueueBounded() { 1.88 - WeakDataFile weak = null; 1.89 + WeakDataFile weak; 1.90 while (( weak = (WeakDataFile) refQueue.poll()) != null ) { 1.91 - LOGGER.fine("Cleaning file = "+weak.file+" from reference queue."); 1.92 + if (LOGGER.isLoggable(Level.FINE)) { 1.93 + LOGGER.log(Level.FINE, "Cleaning file = {0} from reference queue.", weak.file); 1.94 + } 1.95 weak.close(); 1.96 } 1.97 }