Author: markt
Date: Sun Dec 14 17:04:50 2014
New Revision: 1645469

URL: http://svn.apache.org/r1645469
Log:
Consistently handle missing StoreConfig MBean for Server and Context case.

Modified:
    tomcat/trunk/java/org/apache/catalina/core/LocalStrings.properties
    tomcat/trunk/java/org/apache/catalina/core/StandardServer.java

Modified: tomcat/trunk/java/org/apache/catalina/core/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/LocalStrings.properties?rev=1645469&r1=1645468&r2=1645469&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/LocalStrings.properties 
(original)
+++ tomcat/trunk/java/org/apache/catalina/core/LocalStrings.properties Sun Dec 
14 17:04:50 2014
@@ -166,8 +166,9 @@ standardHost.invalidErrorReportValveClas
 standardHost.noContext=No Context configured to process this request
 standardHost.notContext=Child of a Host must be a Context
 standardHost.nullName=Host name is required
-standardServer.shutdownViaPort=A valid shutdown command was received via the 
shutdown port. Stopping the Server instance.
 standardServer.accept.timeout=The socket listening for the shutdown command 
experienced an unexpected timeout [{0}] milliseconds after the call to 
accept(). Is this an instance of bug 56684?
+standardServer.shutdownViaPort=A valid shutdown command was received via the 
shutdown port. Stopping the Server instance.
+standardServer.storeConfig.notAvailable=No StoreConfig implementation was 
registered as an MBean named [{0}] so no configuration could be saved. A 
suitable MBean is normally registered via the StoreConfigLifecyleListener.
 standardService.connector.initFailed=Failed to initialize connector [{0}]
 standardService.connector.pauseFailed=Failed to pause connector [{0}]
 standardService.connector.startFailed=Failed to start connector [{0}]

Modified: tomcat/trunk/java/org/apache/catalina/core/StandardServer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardServer.java?rev=1645469&r1=1645468&r2=1645469&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/StandardServer.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/StandardServer.java Sun Dec 14 
17:04:50 2014
@@ -689,8 +689,17 @@ public final class StandardServer extend
      *              if an exception is reported by the persistence mechanism
      */
     public synchronized void storeConfig() throws Exception {
-        ObjectName sname = new ObjectName(getDomain() + ":type=StoreConfig");
-        mserver.invoke(sname, "storeConfig", null, null);
+        try {
+            ObjectName sname = new ObjectName(getDomain() + 
":type=StoreConfig");
+            if (mserver.isRegistered(sname)) {
+                mserver.invoke(sname, "storeConfig", null, null);
+            } else {
+                
log.error(sm.getString("standardServer.storeConfig.notAvailable", sname));
+            }
+        } catch (Throwable t) {
+            ExceptionUtils.handleThrowable(t);
+            log.error(t);
+        }
     }
 
 
@@ -706,21 +715,19 @@ public final class StandardServer extend
      *  by the persistence mechanism
      */
     public synchronized void storeContext(Context context) throws Exception {
-
-        ObjectName sname = null;
         try {
-           sname = new ObjectName(getDomain() + ":type=StoreConfig");
-           if(mserver.isRegistered(sname)) {
-               mserver.invoke(sname, "store",
-                   new Object[] {context},
-                   new String [] { "java.lang.String"});
-           } else
-               log.error("StoreConfig mbean not registered" + sname);
+            ObjectName sname = new ObjectName(getDomain() + 
":type=StoreConfig");
+            if (mserver.isRegistered(sname)) {
+                mserver.invoke(sname, "store",
+                    new Object[] {context},
+                    new String [] { "java.lang.String"});
+            } else {
+                
log.error(sm.getString("standardServer.storeConfig.notAvailable", sname));
+            }
         } catch (Throwable t) {
             ExceptionUtils.handleThrowable(t);
             log.error(t);
         }
-
     }
 
 



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

Reply via email to