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: [email protected]
For additional commands, e-mail: [email protected]