• Жизненный цикл servlet'ов в Tomcat'e?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    1. Да, доступны. Да, необходимо использовать потокобезопасные коллекции.
    2. Зависит от реализации контейнера. Лучше не делать предположений на эту тему.
    3. Вы можете зарегистрировать ServletContextListener для инициализации общих для всех сервлетов данных. Но создание источника данных лучше доверить контейнеру и получить сервлетами из JNDI.

      1. Можно передать Tomcat'у параметр
        -Dorg.apache.catalina.startup.EXIT_ON_INIT_FAILURE=true

      2. Наверное, можно в обработчике исключения сервлета вызывать System.exit(1)
      3. Можно в конфигурации настроить shutdown port
        <Server port="8005" shutdown="someLongAndSecretString">

        и потом в коде
        Socket socket = new Socket("localhost", 8005); 
        if (socket.isConnected()) { 
            PrintWriter pw = new PrintWriter(socket.getOutputStream(), true); 
            pw.println("someLongAndSecretString");
            pw.close(); 
            socket.close(); 
        }



    Ответ написан
    Комментировать