Author: markt
Date: Tue Jan 12 21:15:18 2016
New Revision: 1724325

URL: http://svn.apache.org/viewvc?rev=1724325&view=rev
Log:
Use try-with-resources to simplify code
Some exception logging removed since it is duplicated in [start|stop]Internal

Modified:
    tomcat/trunk/java/org/apache/catalina/session/LocalStrings.properties
    tomcat/trunk/java/org/apache/catalina/session/LocalStrings_es.properties
    tomcat/trunk/java/org/apache/catalina/session/LocalStrings_fr.properties
    tomcat/trunk/java/org/apache/catalina/session/LocalStrings_ja.properties
    tomcat/trunk/java/org/apache/catalina/session/StandardManager.java

Modified: tomcat/trunk/java/org/apache/catalina/session/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/LocalStrings.properties?rev=1724325&r1=1724324&r2=1724325&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/session/LocalStrings.properties 
(original)
+++ tomcat/trunk/java/org/apache/catalina/session/LocalStrings.properties Tue 
Jan 12 21:15:18 2016
@@ -35,11 +35,8 @@ managerBase.createSession.ise=createSess
 managerBase.sessionTimeout=Invalid session timeout setting {0}
 standardManager.loading=Loading persisted sessions from {0}
 standardManager.loading.exception=Exception while loading persisted sessions
-standardManager.loading.cnfe=Class not found while loading persisted sessions 
[{0}]
-standardManager.loading.ioe=IOException while loading persisted sessions [{0}]
 standardManager.unloading=Saving persisted sessions to {0}
 standardManager.unloading.debug=Unloading persisted sessions
-standardManager.unloading.ioe=IOException while saving persisted sessions: {0}
 standardManager.unloading.nosessions=No persisted sessions to unload
 standardManager.managerLoad=Exception loading sessions from persistent storage
 standardManager.managerUnload=Exception unloading sessions to persistent 
storage

Modified: 
tomcat/trunk/java/org/apache/catalina/session/LocalStrings_es.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/LocalStrings_es.properties?rev=1724325&r1=1724324&r2=1724325&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/session/LocalStrings_es.properties 
(original)
+++ tomcat/trunk/java/org/apache/catalina/session/LocalStrings_es.properties 
Tue Jan 12 21:15:18 2016
@@ -29,7 +29,6 @@ managerBase.sessionTimeout = Valor inv\u
 standardManager.loading = Cargando sesiones persistidas desde {0}
 standardManager.loading.exception = Exception al cargar sesiones persistidas
 standardManager.unloading = Salvando sesiones persistidas a {0}
-standardManager.unloading.ioe = IOException al salvar sesiones persistidas\: 
{0}
 standardManager.managerLoad = Excepci\u00F3n cargando sesiones desde 
almacenamiento persistente
 standardManager.managerUnload = Excepci\u00F3n descargando sesiones a 
almacenamiento persistente
 standardSession.attributeEvent = El oyente de eventos de atributo de 
Sesi\u00F3n lanz\u00F3 una excepci\u00F3n

Modified: 
tomcat/trunk/java/org/apache/catalina/session/LocalStrings_fr.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/LocalStrings_fr.properties?rev=1724325&r1=1724324&r2=1724325&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/session/LocalStrings_fr.properties 
(original)
+++ tomcat/trunk/java/org/apache/catalina/session/LocalStrings_fr.properties 
Tue Jan 12 21:15:18 2016
@@ -29,7 +29,6 @@ managerBase.sessionTimeout=R\u00e9glage
 standardManager.loading=Chargement des sessions qui ont persist\u00e9 depuis 
{0}
 standardManager.loading.exception="Exception" lors du chargement de sessions 
persistantes
 standardManager.unloading=Sauvegarde des sessions ayant persist\u00e9 vers {0}
-standardManager.unloading.ioe="IOException" lors de la sauvegarde de sessions 
persistantes: {0}
 standardManager.managerLoad=Exception au chargement des sessions depuis le 
stockage persistant (persistent storage)
 standardManager.managerUnload=Exception au d\u00e9chargement des sessions vers 
le stockage persistant (persistent storage)
 standardSession.attributeEvent=L''\u00e9couteur d''\u00e9v\u00e8nement 
Attribut de Session (attribute event listener) a g\u00e9n\u00e9r\u00e9 une 
exception

Modified: 
tomcat/trunk/java/org/apache/catalina/session/LocalStrings_ja.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/LocalStrings_ja.properties?rev=1724325&r1=1724324&r2=1724325&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/session/LocalStrings_ja.properties 
(original)
+++ tomcat/trunk/java/org/apache/catalina/session/LocalStrings_ja.properties 
Tue Jan 12 21:15:18 2016
@@ -30,7 +30,6 @@ managerBase.sessionTimeout=\u7121\u52b9\
 standardManager.loading={0} 
\u304b\u3089\u6301\u7d9a\u3055\u308c\u305f\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u30ed\u30fc\u30c9\u3057\u3066\u3044\u307e\u3059
 
standardManager.loading.exception=\u6301\u7d9a\u3055\u308c\u305f\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u30ed\u30fc\u30c9\u4e2d\u306bException\u304c\u767a\u751f\u3057\u307e\u3057\u305f
 
standardManager.unloading=\u6301\u7d9a\u3055\u308c\u305f\u30bb\u30c3\u30b7\u30e7\u30f3\u3092
 {0} \u306b\u4fdd\u5b58\u3057\u307e\u3059
-standardManager.unloading.ioe=\u6301\u7d9a\u3055\u308c\u305f\u30bb\u30c3\u30b7\u30e7\u30f3\u306e\u4fdd\u5b58\u4e2d\u306eIOException\u3067\u3059:
 {0}
 
standardManager.managerLoad=\u6c38\u7d9a\u8a18\u61b6\u88c5\u7f6e\u304b\u3089\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u30ed\u30fc\u30c9\u4e2d\u306e\u4f8b\u5916\u3067\u3059
 
standardManager.managerUnload=\u6c38\u7d9a\u8a18\u61b6\u88c5\u7f6e\u306b\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u30a2\u30f3\u30ed\u30fc\u30c9\u4e2d\u306e\u4f8b\u5916\u3067\u3059
 
standardSession.attributeEvent=\u30bb\u30c3\u30b7\u30e7\u30f3\u5c5e\u6027\u30a4\u30d9\u30f3\u30c8\u30ea\u30b9\u30ca\u304c\u4f8b\u5916\u3092\u6295\u3052\u307e\u3057\u305f

Modified: tomcat/trunk/java/org/apache/catalina/session/StandardManager.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/StandardManager.java?rev=1724325&r1=1724324&r2=1724325&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/session/StandardManager.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/session/StandardManager.java Tue Jan 
12 21:15:18 2016
@@ -201,14 +201,10 @@ public class StandardManager extends Man
         if (log.isDebugEnabled()) {
             log.debug(sm.getString("standardManager.loading", pathname));
         }
-        FileInputStream fis = null;
-        BufferedInputStream bis = null;
-        ObjectInputStream ois;
         Loader loader = null;
         ClassLoader classLoader = null;
-        try {
-            fis = new FileInputStream(file.getAbsolutePath());
-            bis = new BufferedInputStream(fis);
+        try (FileInputStream fis = new FileInputStream(file.getAbsolutePath());
+                BufferedInputStream bis = new BufferedInputStream(fis);) {
             Context c = getContext();
             if (c != null) {
                 loader = c.getLoader();
@@ -219,71 +215,40 @@ public class StandardManager extends Man
             if (classLoader == null) {
                 classLoader = getClass().getClassLoader();
             }
-            ois = new CustomObjectInputStream(bis, classLoader);
+
+            // Load the previously unloaded active sessions
+            synchronized (sessions) {
+                try (ObjectInputStream ois = new CustomObjectInputStream(bis, 
classLoader)) {
+                    Integer count = (Integer) ois.readObject();
+                    int n = count.intValue();
+                    if (log.isDebugEnabled())
+                        log.debug("Loading " + n + " persisted sessions");
+                    for (int i = 0; i < n; i++) {
+                        StandardSession session = getNewSession();
+                        session.readObjectData(ois);
+                        session.setManager(this);
+                        sessions.put(session.getIdInternal(), session);
+                        session.activate();
+                        if (!session.isValidInternal()) {
+                            // If session is already invalid,
+                            // expire session to prevent memory leak.
+                            session.setValid(true);
+                            session.expire();
+                        }
+                        sessionCounter++;
+                    }
+                } finally {
+                    // Delete the persistent storage file
+                    if (file.exists()) {
+                        file.delete();
+                    }
+                }
+            }
         } catch (FileNotFoundException e) {
             if (log.isDebugEnabled()) {
                 log.debug("No persisted data file found");
             }
             return;
-        } catch (IOException e) {
-            log.error(sm.getString("standardManager.loading.ioe", e), e);
-            if (fis != null) {
-                try {
-                    fis.close();
-                } catch (IOException f) {
-                    // Ignore
-                }
-            }
-            if (bis != null) {
-                try {
-                    bis.close();
-                } catch (IOException f) {
-                    // Ignore
-                }
-            }
-            throw e;
-        }
-
-        // Load the previously unloaded active sessions
-        synchronized (sessions) {
-            try {
-                Integer count = (Integer) ois.readObject();
-                int n = count.intValue();
-                if (log.isDebugEnabled())
-                    log.debug("Loading " + n + " persisted sessions");
-                for (int i = 0; i < n; i++) {
-                    StandardSession session = getNewSession();
-                    session.readObjectData(ois);
-                    session.setManager(this);
-                    sessions.put(session.getIdInternal(), session);
-                    session.activate();
-                    if (!session.isValidInternal()) {
-                        // If session is already invalid,
-                        // expire session to prevent memory leak.
-                        session.setValid(true);
-                        session.expire();
-                    }
-                    sessionCounter++;
-                }
-            } catch (ClassNotFoundException e) {
-                log.error(sm.getString("standardManager.loading.cnfe", e), e);
-                throw e;
-            } catch (IOException e) {
-                log.error(sm.getString("standardManager.loading.ioe", e), e);
-                throw e;
-            } finally {
-                // Close the input stream
-                try {
-                    ois.close();
-                } catch (IOException f) {
-                    // ignored
-                }
-
-                // Delete the persistent storage file
-                if (file.exists()) {
-                    file.delete();
-                }
-            }
         }
 
         if (log.isDebugEnabled()) {
@@ -326,7 +291,6 @@ public class StandardManager extends Man
      *
      * @exception IOException if an input/output error occurs
      */
-    @SuppressWarnings("null")
     protected void doUnload() throws IOException {
 
         if (log.isDebugEnabled())
@@ -345,52 +309,19 @@ public class StandardManager extends Man
         if (log.isDebugEnabled()) {
             log.debug(sm.getString("standardManager.unloading", pathname));
         }
-        FileOutputStream fos = null;
-        BufferedOutputStream bos = null;
-        ObjectOutputStream oos = null;
-        boolean error = false;
-        try {
-            fos = new FileOutputStream(file.getAbsolutePath());
-            bos = new BufferedOutputStream(fos);
-            oos = new ObjectOutputStream(bos);
-        } catch (IOException e) {
-            error = true;
-            log.error(sm.getString("standardManager.unloading.ioe", e), e);
-            throw e;
-        } finally {
-            if (error) {
-                if (oos != null) {
-                    try {
-                        oos.close();
-                    } catch (IOException ioe) {
-                        // Ignore
-                    }
-                }
-                if (bos != null) {
-                    try {
-                        bos.close();
-                    } catch (IOException ioe) {
-                        // Ignore
-                    }
-                }
-                if (fos != null) {
-                    try {
-                        fos.close();
-                    } catch (IOException ioe) {
-                        // Ignore
-                    }
-                }
-            }
-        }
 
-        // Write the number of active sessions, followed by the details
+        // Keep a note of sessions that are expired
         ArrayList<StandardSession> list = new ArrayList<>();
-        synchronized (sessions) {
-            if (log.isDebugEnabled()) {
-                log.debug("Unloading " + sessions.size() + " sessions");
-            }
-            try {
-                // oos can't be null here
+
+        try (FileOutputStream fos = new 
FileOutputStream(file.getAbsolutePath());
+                BufferedOutputStream bos = new BufferedOutputStream(fos);
+                ObjectOutputStream oos = new ObjectOutputStream(bos)) {
+
+            synchronized (sessions) {
+                if (log.isDebugEnabled()) {
+                    log.debug("Unloading " + sessions.size() + " sessions");
+                }
+                // Write the number of active sessions, followed by the details
                 oos.writeObject(Integer.valueOf(sessions.size()));
                 Iterator<Session> elements = sessions.values().iterator();
                 while (elements.hasNext()) {
@@ -400,25 +331,6 @@ public class StandardManager extends Man
                     session.passivate();
                     session.writeObjectData(oos);
                 }
-            } catch (IOException e) {
-                log.error(sm.getString("standardManager.unloading.ioe", e), e);
-                try {
-                    oos.close();
-                } catch (IOException f) {
-                    // Ignore
-                }
-                throw e;
-            }
-        }
-
-        // Flush and close the output stream
-        try {
-            oos.flush();
-        } finally {
-            try {
-                oos.close();
-            } catch (IOException f) {
-                // Ignore
             }
         }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to