You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2010/03/04 20:17:32 UTC

svn commit: r919138 - in /tomcat/trunk/java/org/apache/catalina: core/ startup/

Author: markt
Date: Thu Mar  4 19:17:32 2010
New Revision: 919138

URL: http://svn.apache.org/viewvc?rev=919138&view=rev
Log:
Lifecycle refactoring
StandardService - Note use of LifecycleState.MUST_STOP in Catalina to ensure shutdown

Modified:
    tomcat/trunk/java/org/apache/catalina/core/LocalStrings.properties
    tomcat/trunk/java/org/apache/catalina/core/LocalStrings_es.properties
    tomcat/trunk/java/org/apache/catalina/core/LocalStrings_fr.properties
    tomcat/trunk/java/org/apache/catalina/core/LocalStrings_ja.properties
    tomcat/trunk/java/org/apache/catalina/core/StandardService.java
    tomcat/trunk/java/org/apache/catalina/startup/Catalina.java
    tomcat/trunk/java/org/apache/catalina/startup/Embedded.java
    tomcat/trunk/java/org/apache/catalina/startup/LocalStrings.properties
    tomcat/trunk/java/org/apache/catalina/startup/LocalStrings_es.properties
    tomcat/trunk/java/org/apache/catalina/startup/LocalStrings_fr.properties
    tomcat/trunk/java/org/apache/catalina/startup/LocalStrings_ja.properties

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=919138&r1=919137&r2=919138&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/LocalStrings.properties (original)
+++ tomcat/trunk/java/org/apache/catalina/core/LocalStrings.properties Thu Mar  4 19:17:32 2010
@@ -195,9 +195,7 @@
 standardService.initialize.failed=Service initializing at {0} failed
 standardService.register.failed=Error registering Service at domain {0}
 standardService.start.name=Starting service {0}
-standardService.start.started=This service has already been started
 standardService.stop.name=Stopping service {0}
-standardService.stop.notStarted=This service has not yet been started
 standardWrapper.allocate=Error allocating a servlet instance
 standardWrapper.allocateException=Allocate exception for servlet {0}
 standardWrapper.containerServlet=Loading container servlet {0}

Modified: tomcat/trunk/java/org/apache/catalina/core/LocalStrings_es.properties
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/LocalStrings_es.properties?rev=919138&r1=919137&r2=919138&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/LocalStrings_es.properties (original)
+++ tomcat/trunk/java/org/apache/catalina/core/LocalStrings_es.properties Thu Mar  4 19:17:32 2010
@@ -170,9 +170,7 @@
 standardService.initialize.failed = Servicio inicializando en {0} fall\u00F3
 standardService.register.failed = Error registrando servicio en dominio {0}
 standardService.start.name = Arrancando servicio {0}
-standardService.start.started = Ya ha sido arrancado este sercicio
 standardService.stop.name = Parando servicio {0}
-standardService.stop.notStarted = A\u00FAn no se ha arrancado este servicio
 standardWrapper.allocate = Error reservando espacio para una instancia de servlet
 standardWrapper.allocateException = Excepci\u00F3n de reserva de espacio para servlet {0}
 standardWrapper.containerServlet = Cargando servlet de contenedor {0}

Modified: tomcat/trunk/java/org/apache/catalina/core/LocalStrings_fr.properties
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/LocalStrings_fr.properties?rev=919138&r1=919137&r2=919138&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/LocalStrings_fr.properties (original)
+++ tomcat/trunk/java/org/apache/catalina/core/LocalStrings_fr.properties Thu Mar  4 19:17:32 2010
@@ -141,9 +141,7 @@
 standardServer.initialize.initialized=Ce serveur a d\u00e9j\u00e0 \u00e9t\u00e9 initialis\u00e9
 standardService.initialize.initialized=Ce service a d\u00e9j\u00e0 \u00e9t\u00e9 initialis\u00e9
 standardService.start.name=D\u00e9marrage du service {0}
-standardService.start.started=Ce service a d\u00e9j\u00e0 \u00e9t\u00e9 d\u00e9marr\u00e9
 standardService.stop.name=Arr\u00eat du service {0}
-standardService.stop.notStarted=Ce service n''a pas encore \u00e9t\u00e9 d\u00e9marr\u00e9
 standardWrapper.allocate=Erreur d''allocation \u00e0 une instance de servlet
 standardWrapper.allocateException=Exception lors de l''allocation pour la servlet {0}
 standardWrapper.containerServlet=Chargement du conteneur (container) de servlet {0}

Modified: tomcat/trunk/java/org/apache/catalina/core/LocalStrings_ja.properties
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/LocalStrings_ja.properties?rev=919138&r1=919137&r2=919138&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/LocalStrings_ja.properties (original)
+++ tomcat/trunk/java/org/apache/catalina/core/LocalStrings_ja.properties Thu Mar  4 19:17:32 2010
@@ -148,9 +148,7 @@
 standardServer.initialize.initialized=\u3053\u306e\u30b5\u30fc\u30d0\u306f\u65e2\u306b\u521d\u671f\u5316\u3055\u308c\u3066\u3044\u307e\u3059
 standardService.initialize.initialized=\u3053\u306e\u30b5\u30fc\u30d3\u30b9\u306f\u65e2\u306b\u521d\u671f\u5316\u3055\u308c\u3066\u3044\u307e\u3059
 standardService.start.name=\u30b5\u30fc\u30d3\u30b9 {0} \u3092\u8d77\u52d5\u3057\u307e\u3059
-standardService.start.started=\u3053\u306e\u30b5\u30fc\u30d3\u30b9\u306f\u65e2\u306b\u8d77\u52d5\u3055\u308c\u3066\u3044\u307e\u3059
 standardService.stop.name=\u30b5\u30fc\u30d3\u30b9 {0} \u3092\u505c\u6b62\u3057\u307e\u3059
-standardService.stop.notStarted=\u3053\u306e\u30b5\u30fc\u30d3\u30b9\u306f\u307e\u3060\u8d77\u52d5\u3055\u308c\u3066\u3044\u307e\u305b\u3093
 standardWrapper.allocate=\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u5272\u308a\u5f53\u3066\u4e2d\u306e\u30a8\u30e9\u30fc\u3067\u3059
 standardWrapper.allocateException=\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8 {0} \u306b\u4f8b\u5916\u3092\u5272\u308a\u5f53\u3066\u307e\u3059
 standardWrapper.containerServlet=\u30b3\u30f3\u30c6\u30ca\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8 {0} \u3092\u30ed\u30fc\u30c9\u3057\u307e\u3059

Modified: tomcat/trunk/java/org/apache/catalina/core/StandardService.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardService.java?rev=919138&r1=919137&r2=919138&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/StandardService.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/StandardService.java Thu Mar  4 19:17:32 2010
@@ -28,11 +28,11 @@
 import org.apache.catalina.Engine;
 import org.apache.catalina.Lifecycle;
 import org.apache.catalina.LifecycleException;
-import org.apache.catalina.LifecycleListener;
+import org.apache.catalina.LifecycleState;
 import org.apache.catalina.Server;
 import org.apache.catalina.Service;
 import org.apache.catalina.connector.Connector;
-import org.apache.catalina.util.LifecycleSupport;
+import org.apache.catalina.util.LifecycleBase;
 import org.apache.tomcat.util.res.StringManager;
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
@@ -49,7 +49,8 @@
  * @author Craig R. McClanahan
  */
 
-public class StandardService implements Service, MBeanRegistration {
+public class StandardService extends LifecycleBase
+        implements Service, MBeanRegistration {
 
     private static final Log log = LogFactory.getLog(StandardService.class);
    
@@ -71,12 +72,6 @@
 
 
     /**
-     * The lifecycle event support for this component.
-     */
-    private LifecycleSupport lifecycle = new LifecycleSupport(this);
-
-
-    /**
      * The string manager for this package.
      */
     private static final StringManager sm =
@@ -88,12 +83,6 @@
     private Server server = null;
 
     /**
-     * Has this component been started?
-     */
-    private boolean started = false;
-
-
-    /**
      * The property change support for this component.
      */
     protected PropertyChangeSupport support = new PropertyChangeSupport(this);
@@ -151,7 +140,7 @@
         this.container = container;
         if ((this.container != null) && (this.container instanceof Engine))
             ((Engine) this.container).setService(this);
-        if (started && (this.container != null)) {
+        if (getState().isAvailable() && (this.container != null)) {
             try {
                 this.container.start();
             } catch (LifecycleException e) {
@@ -162,7 +151,7 @@
             for (int i = 0; i < connectors.length; i++)
                 connectors[i].setContainer(this.container);
         }
-        if (started && (oldContainer != null)) {
+        if (getState().isAvailable() && (oldContainer != null)) {
             try {
                 oldContainer.stop();
             } catch (LifecycleException e) {
@@ -266,7 +255,7 @@
                 }
             }
 
-            if (started) {
+            if (getState().isAvailable()) {
                 try {
                     ((Lifecycle) connector).start();
                 } catch (LifecycleException e) {
@@ -330,7 +319,7 @@
             }
             if (j < 0)
                 return;
-            if (started) {
+            if (getState().isAvailable()) {
                 try {
                     ((Lifecycle) connectors[j]).stop();
                 } catch (LifecycleException e) {
@@ -380,43 +369,6 @@
     }
 
 
-    // ------------------------------------------------------ Lifecycle Methods
-
-
-    /**
-     * Add a LifecycleEvent listener to this component.
-     *
-     * @param listener The listener to add
-     */
-    public void addLifecycleListener(LifecycleListener listener) {
-
-        lifecycle.addLifecycleListener(listener);
-
-    }
-
-
-    /**
-     * Get the lifecycle listeners associated with this lifecycle. If this 
-     * Lifecycle has no listeners registered, a zero-length array is returned.
-     */
-    public LifecycleListener[] findLifecycleListeners() {
-
-        return lifecycle.findLifecycleListeners();
-
-    }
-
-
-    /**
-     * Remove a LifecycleEvent listener from this component.
-     *
-     * @param listener The listener to remove
-     */
-    public void removeLifecycleListener(LifecycleListener listener) {
-
-        lifecycle.removeLifecycleListener(listener);
-
-    }
-    
     /**
      * Adds a named executor to the service
      * @param ex Executor
@@ -425,7 +377,7 @@
         synchronized (executors) {
             if (!executors.contains(ex)) {
                 executors.add(ex);
-                if (started)
+                if (getState().isAvailable())
                     try {
                         ex.start();
                     } catch (LifecycleException x) {
@@ -468,7 +420,7 @@
      */
     public void removeExecutor(Executor ex) {
         synchronized (executors) {
-            if ( executors.remove(ex) && started ) {
+            if ( executors.remove(ex) && getState().isAvailable() ) {
                 try {
                     ex.stop();
                 } catch (LifecycleException e) {
@@ -481,33 +433,21 @@
 
 
     /**
-     * Prepare for the beginning of active use of the public methods of this
-     * component.  This method should be called before any of the public
-     * methods of this component are utilized.  It should also send a
-     * LifecycleEvent of type START_EVENT to any registered listeners.
+     * Start nested components ({@link Executor}s, {@link Connector}s and
+     * {@link Container}s) and implement the requirements of
+     * {@link LifecycleBase#startInternal()}.
      *
      * @exception LifecycleException if this component detects a fatal error
      *  that prevents this component from being used
      */
-    public void start() throws LifecycleException {
+    protected void startInternal() throws LifecycleException {
 
-        // Validate and update our current component state
-        if (started) {
-            if (log.isInfoEnabled()) {
-                log.info(sm.getString("standardService.start.started"));
-            }
-            return;
-        }
-        
         if( ! initialized )
             init(); 
 
-        // Notify our interested LifecycleListeners
-        lifecycle.fireLifecycleEvent(BEFORE_START_EVENT, null);
         if(log.isInfoEnabled())
             log.info(sm.getString("standardService.start.name", this.name));
-        lifecycle.fireLifecycleEvent(START_EVENT, null);
-        started = true;
+        setState(LifecycleState.STARTING);
 
         // Start our defined Container first
         if (container != null) {
@@ -528,31 +468,18 @@
                 ((Lifecycle) connectors[i]).start();
             }
         }
-        
-        // Notify our interested LifecycleListeners
-        lifecycle.fireLifecycleEvent(AFTER_START_EVENT, null);
-
     }
 
 
     /**
-     * Gracefully terminate the active use of the public methods of this
-     * component.  This method should be the last one called on a given
-     * instance of this component.  It should also send a LifecycleEvent
-     * of type STOP_EVENT to any registered listeners.
+     * Stop nested components ({@link Executor}s, {@link Connector}s and
+     * {@link Container}s) and implement the requirements of
+     * {@link LifecycleBase#stopInternal()}.
      *
      * @exception LifecycleException if this component detects a fatal error
      *  that needs to be reported
      */
-    public void stop() throws LifecycleException {
-
-        // Validate and update our current component state
-        if (!started) {
-            return;
-        }
-
-        // Notify our interested LifecycleListeners
-        lifecycle.fireLifecycleEvent(BEFORE_STOP_EVENT, null);
+    protected void stopInternal() throws LifecycleException {
 
         // Stop our defined Connectors first
         synchronized (connectors) {
@@ -568,11 +495,9 @@
             // Ignore
         }
 
-        lifecycle.fireLifecycleEvent(STOP_EVENT, null);
         if(log.isInfoEnabled())
-            log.info
-                (sm.getString("standardService.stop.name", this.name));
-        started = false;
+            log.info(sm.getString("standardService.stop.name", this.name));
+        setState(LifecycleState.STOPPING);
 
         // Stop our defined Container second
         if (container != null) {
@@ -610,11 +535,6 @@
                 }
             }
         }
-        
-
-        // Notify our interested LifecycleListeners
-        lifecycle.fireLifecycleEvent(AFTER_STOP_EVENT, null);
-
     }
 
 
@@ -673,7 +593,7 @@
     }
     
     public void destroy() throws LifecycleException {
-        if( started ) stop();
+        if(getState().isAvailable()) stop();
         // FIXME unregister should be here probably -- stop doing that ?
     }
 

Modified: tomcat/trunk/java/org/apache/catalina/startup/Catalina.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/Catalina.java?rev=919138&r1=919137&r2=919138&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/startup/Catalina.java (original)
+++ tomcat/trunk/java/org/apache/catalina/startup/Catalina.java Thu Mar  4 19:17:32 2010
@@ -32,6 +32,7 @@
 
 import org.apache.catalina.Container;
 import org.apache.catalina.LifecycleException;
+import org.apache.catalina.LifecycleState;
 import org.apache.catalina.core.StandardServer;
 import org.apache.juli.ClassLoaderLogManager;
 import org.apache.tomcat.util.digester.Digester;
@@ -542,7 +543,7 @@
      * Start a new server instance.
      */
     @Override
-    public void start() {
+    protected void startInternal() {
 
         if (getServer() == null) {
             load();
@@ -554,7 +555,10 @@
         }
 
         long t1 = System.nanoTime();
-        
+
+        setState(LifecycleState.STARTING);
+        lifecycle.fireLifecycleEvent(START_EVENT, null);
+
         // Start the new server
         try {
             getServer().start();
@@ -589,8 +593,10 @@
         }
 
         if (await) {
+            setState(LifecycleState.STARTED);
+            fireLifecycleEvent(AFTER_START_EVENT, null);
             await();
-            stop();
+            setState(LifecycleState.MUST_STOP);
         }
 
     }
@@ -600,7 +606,10 @@
      * Stop an existing server instance.
      */
     @Override
-    public void stop() {
+    protected void stopInternal() {
+
+        fireLifecycleEvent(STOP_EVENT, null);
+        setState(LifecycleState.STOPPING);
 
         try {
             // Remove the ShutdownHook first so that server.stop() 
@@ -667,7 +676,11 @@
         public void run() {
 
             if (getServer() != null) {
-                Catalina.this.stop();
+                try {
+                    Catalina.this.stop();
+                } catch (LifecycleException e) {
+                    log.error(sm.getString("catalina.shutdownHookFail"), e);
+                }
             }
             
             // If JULI is used, shut JULI down *after* the server shuts down

Modified: tomcat/trunk/java/org/apache/catalina/startup/Embedded.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/Embedded.java?rev=919138&r1=919137&r2=919138&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/startup/Embedded.java (original)
+++ tomcat/trunk/java/org/apache/catalina/startup/Embedded.java Thu Mar  4 19:17:32 2010
@@ -32,6 +32,7 @@
 import org.apache.catalina.Lifecycle;
 import org.apache.catalina.LifecycleException;
 import org.apache.catalina.LifecycleListener;
+import org.apache.catalina.LifecycleState;
 import org.apache.catalina.Loader;
 import org.apache.catalina.Realm;
 import org.apache.catalina.Valve;
@@ -42,6 +43,7 @@
 import org.apache.catalina.core.StandardService;
 import org.apache.catalina.loader.WebappLoader;
 import org.apache.catalina.security.SecurityConfig;
+import org.apache.catalina.util.LifecycleBase;
 import org.apache.catalina.util.LifecycleSupport;
 import org.apache.tomcat.util.res.StringManager;
 import org.apache.juli.logging.Log;
@@ -188,11 +190,6 @@
 
 
     /**
-     * Has this component been started yet?
-     */
-    protected boolean started = false;
-
-    /**
      * Use await.
      */
     protected boolean await = false;
@@ -347,7 +344,7 @@
         engines = results;
 
         // Start this Engine if necessary
-        if (started) {
+        if (getState().isAvailable()) {
             try {
                 engine.start();
             } catch (LifecycleException e) {
@@ -796,15 +793,14 @@
 
 
     /**
-     * Prepare for the beginning of active use of the public methods of this
-     * component.  This method should be called after <code>configure()</code>,
-     * and before any of the public methods of the component are utilized.
+     * Start nested components ({@link Connector}s and {@link Engine}s) and
+     * implement the requirements of {@link LifecycleBase#startInternal()}.
      *
      * @exception LifecycleException if this component detects a fatal error
      *  that prevents this component from being used
      */
     @Override
-    public void start() throws LifecycleException {
+    protected void startInternal() throws LifecycleException {
 
         if( log.isInfoEnabled() )
             log.info("Starting tomcat server");
@@ -815,12 +811,8 @@
         // Initialize some naming specific properties
         initNaming();
 
-        // Validate and update our current component state
-        if (started)
-            throw new LifecycleException
-                (sm.getString("embedded.alreadyStarted"));
+        setState(LifecycleState.STARTING);
         lifecycle.fireLifecycleEvent(START_EVENT, null);
-        started = true;
         initialized = true;
 
         // Start our defined Engines first
@@ -838,25 +830,20 @@
 
 
     /**
-     * Gracefully terminate the active use of the public methods of this
-     * component.  This method should be the last one called on a given
-     * instance of this component.
+     * Stop nested components ({@link Connector}s and {@link Engine}s) and
+     * implement the requirements of {@link LifecycleBase#stopInternal()}.
      *
      * @exception LifecycleException if this component detects a fatal error
      *  that needs to be reported
      */
     @Override
-    public void stop() throws LifecycleException {
+    protected void stopInternal() throws LifecycleException {
 
         if( log.isDebugEnabled() )
             log.debug("Stopping embedded server");
 
-        // Validate and update our current component state
-        if (!started)
-            throw new LifecycleException
-                (sm.getString("embedded.notStarted"));
-        lifecycle.fireLifecycleEvent(STOP_EVENT, null);
-        started = false;
+        fireLifecycleEvent(STOP_EVENT, null);
+        setState(LifecycleState.STARTING);
 
         // Stop our defined Connectors first
         for (int i = 0; i < connectors.length; i++) {

Modified: tomcat/trunk/java/org/apache/catalina/startup/LocalStrings.properties
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/LocalStrings.properties?rev=919138&r1=919137&r2=919138&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/startup/LocalStrings.properties (original)
+++ tomcat/trunk/java/org/apache/catalina/startup/LocalStrings.properties Thu Mar  4 19:17:32 2010
@@ -13,6 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+catalina.shutdownHookFail=The shutdown hook experienced an error while trying to stop the server
 catalina.stopServer=No shutdown port configured. Shut down server through OS signal. Server not shut down.
 contextConfig.altDDNotFound=alt-dd file {0} not found
 contextConfig.applicationUrl=Unable to determine URL for application web.xml
@@ -54,10 +55,8 @@
 contextConfig.urlPatternValue=Both the UrlPattern and value attribute were set for the WebServlet annotation on class [{0}]
 contextConfig.webinfClassesUrl=Unable to determine URL for WEB-INF/classes
 contextConfig.xmlSettings=Context [{0}] will parse web.xml and web-fragment.xml files with validation:{1} and namespaceAware:{2}
-embedded.alreadyStarted=Embedded service has already been started
 embedded.noEngines=No engines have been defined yet
 embedded.notmp=Cannot find specified temporary folder at {0}
-embedded.notStarted=Embedded service has not yet been started
 embedded.authenticatorNotInstanceOfValve=Specified Authenticator is not a Valve
 engineConfig.cce=Lifecycle event data object {0} is not an Engine
 engineConfig.start=EngineConfig: Processing START

Modified: tomcat/trunk/java/org/apache/catalina/startup/LocalStrings_es.properties
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/LocalStrings_es.properties?rev=919138&r1=919137&r2=919138&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/startup/LocalStrings_es.properties (original)
+++ tomcat/trunk/java/org/apache/catalina/startup/LocalStrings_es.properties Thu Mar  4 19:17:32 2010
@@ -34,10 +34,8 @@
 contextConfig.start = "ContextConfig"\: Tratamiento del "START"
 contextConfig.stop = "ContextConfig"\: Tratamiento del "STOP"
 contextConfig.unavailable = Esta aplicaci\u00F3n est\u00E1 marcada como no disponible debido a los errores precedentes
-embedded.alreadyStarted = El servicio embebido (embedded service) ya ha sido arrancado
 embedded.noEngines = Alg\u00FAn motor (engine) no ha sido a\u00FAn definido
 embedded.notmp = No puedo hallar carpeta temporal especificada en {0}
-embedded.notStarted = El servicio embebido (embedded service) a\u00FAn no ha sido arrancado
 embedded.authenticatorNotInstanceOfValve = El Autenticado especificado no es un V\u00E1lvula
 engineConfig.cce = El objeto de los datos de evento de ciclo de vida (Lifecycle event data object) {0} no es un motor (engine)
 engineConfig.start = "EngineConfig"\: Tratamiento del "START"

Modified: tomcat/trunk/java/org/apache/catalina/startup/LocalStrings_fr.properties
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/LocalStrings_fr.properties?rev=919138&r1=919137&r2=919138&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/startup/LocalStrings_fr.properties (original)
+++ tomcat/trunk/java/org/apache/catalina/startup/LocalStrings_fr.properties Thu Mar  4 19:17:32 2010
@@ -29,9 +29,7 @@
 contextConfig.start="ContextConfig": Traitement du "START"
 contextConfig.stop="ContextConfig": Traitement du "STOP"
 contextConfig.unavailable=Cette application est marqu\u00e9e comme non disponible suite aux erreurs pr\u00e9c\u00e9dentes
-embedded.alreadyStarted=Le service enfoui (embedded service) a d\u00e9j\u00e0 \u00e9t\u00e9 d\u00e9marr\u00e9
 embedded.noEngines=Aucun moteur (engine) n''a encore \u00e9t\u00e9 d\u00e9fini
-embedded.notStarted=Le service enfoui (embedded service) n''a pas encore \u00e9t\u00e9 d\u00e9marr\u00e9
 engineConfig.cce=L''objet donn\u00e9e \u00e9v\u00e8nement cycle de vie (Lifecycle event data object) {0} n''est pas un moteur (engine)
 engineConfig.start="EngineConfig": Traitement du "START"
 engineConfig.stop="EngineConfig": Traitement du "STOP"

Modified: tomcat/trunk/java/org/apache/catalina/startup/LocalStrings_ja.properties
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/LocalStrings_ja.properties?rev=919138&r1=919137&r2=919138&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/startup/LocalStrings_ja.properties (original)
+++ tomcat/trunk/java/org/apache/catalina/startup/LocalStrings_ja.properties Thu Mar  4 19:17:32 2010
@@ -29,9 +29,7 @@
 contextConfig.start=ContextConfig: \u51e6\u7406\u3092\u958b\u59cb\u3057\u307e\u3059
 contextConfig.stop=ContextConfig: \u51e6\u7406\u3092\u505c\u6b62\u3057\u307e\u3059
 contextConfig.unavailable=\u524d\u306e\u30a8\u30e9\u30fc\u306e\u305f\u3081\u306b\u3053\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306f\u5229\u7528\u3067\u304d\u306a\u3044\u3088\u3046\u306b\u30de\u30fc\u30af\u3057\u307e\u3059
-embedded.alreadyStarted=\u7d44\u307f\u8fbc\u307f\u30b5\u30fc\u30d3\u30b9\u306f\u65e2\u306b\u8d77\u52d5\u3055\u308c\u3066\u3044\u307e\u3059
 embedded.noEngines=\u307e\u3060\u30a8\u30f3\u30b8\u30f3\u304c\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-embedded.notStarted=\u7d44\u307f\u8fbc\u307f\u30b5\u30fc\u30d3\u30b9\u306f\u307e\u3060\u8d77\u52d5\u3055\u308c\u3066\u3044\u307e\u305b\u3093
 engineConfig.cce=\u30e9\u30a4\u30d5\u30b5\u30a4\u30af\u30eb\u30a4\u30d9\u30f3\u30c8\u30c7\u30fc\u30bf\u30aa\u30d6\u30b8\u30a7\u30af\u30c8 {0} \u306f\u30a8\u30f3\u30b8\u30f3\u3067\u306f\u3042\u308a\u307e\u305b\u3093
 engineConfig.start=EngineConfig: \u51e6\u7406\u3092\u958b\u59cb\u3057\u307e\u3059
 engineConfig.stop=EngineConfig: \u51e6\u7406\u3092\u505c\u6b62\u3057\u307e\u3059



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