Kohei Tamura:
En mi aplicación implementada en Tomcat, hay una clase de la siguiente manera:
import java.util.logging.Level;
import java.util.logging.Logger;
public abstract class ServiceEndpointApplication extends Application {
final static String LOGGER_NAME = "test";
static {
System.out.println("static init start");
Logger logger = Logger.getLogger(LOGGER_NAME);
logger.setLevel(Level.OFF);
System.out.println("static init end");
}
...
}
Justo después de arrancar Tomcat, envío 50 reqests utilizando JMeter (50 hilos, 1 período de aceleración, 1 de bucle).
Luego tail -f catalina.out
muestra los siguientes registros:
Nov 06, 2018 1:36:57 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 64126 ms
static init start
static init end
static init end
static init end
se muestra dos veces!
Este comportamiento ocurre en una probabilidad de aproximadamente el 10%.
Mi pregunta :
¿Cuáles son las posibles razones de este comportamiento extraño?
Medio Ambiente :
Java
- java version "1.7.0_80"
- Java (TM) SE Runtime Environment (build 1.7.0_80-b15)
- Java HotSpot (TM) de 64 bits del servidor VM (build 24.80-b11, modo mixto)
Tomcat 7.0.59
Kohei Tamura:
Descubrí el motivo. Esto es causado por -f
la opción de tail
comando.
I reproducido este comportamiento:
$ tail -f catalina.out
...
Nov 06, 2018 7:18:17 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 62601 ms
static init start
static init end
static init end
Y entonces me encontré tail
sin ninguna opción:
$ tail catalina.out
...
Nov 06, 2018 7:18:17 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 62601 ms
static init start
static init end