private static void addShutdownHook()

in src/backend/transcriber/src/main/java/com/amazonaws/transcriber/App.java [94:113]


    private static void addShutdownHook(LifecycleInfoPersister lcp) {
        Runtime.getRuntime().addShutdownHook(new Thread(() -> {
            if(error == null) {
                logger.info("Persisting lifecycle stage TERMINATED in DynamoDb...");
                lcp.transcriptionTerminated();
            }
            else {
                logger.info("Persisting lifecycle stage ERROR in DynamoDb...");
                lcp.transcriptionErrored(error);
            }

            //shutdown log4j2
            if( LogManager.getContext() instanceof LoggerContext ) {
                logger.info("Shutting down log4j2");
                Configurator.shutdown((LoggerContext)LogManager.getContext());
            } else {
                logger.warn("Unable to shutdown log4j2");
            }
        }));
    }