package com.aol.micro.server.machine.stats.sigar; import java.io.File; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import com.aol.cyclops2.util.ExceptionSoftener; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import kamon.sigar.SigarProvisioner; public class StatsServletContextListener implements ServletContextListener { private final Logger logger = LoggerFactory.getLogger(this.getClass()); @Value("${machine.stats.deploy.dir:#{null}}") String deployDir; @Override public void contextInitialized(ServletContextEvent sce) { String workingDir = deployDir == null ? System.getProperty("user.dir") : deployDir; String destination = workingDir + "/sigar-lib"; System.setProperty("java.library.path", destination); logger.info("java.library.path is {}", destination); if (!new File( System.getProperty("java.library.path")).exists()) { final File location = new File( System.getProperty("java.library.path")); try { SigarProvisioner.provision(location); } catch (Exception e) { throw ExceptionSoftener.throwSoftenedException(e); } } } @Override public void contextDestroyed(ServletContextEvent sce) { } }