Did you declare the listener in your web.xml? On Tuesday, January 13, 2015 at 3:27:15 AM UTC-8, Subhadip Bagui wrote: > > Hi Jorg, > > Sorry to open the thread again. But the issue is I'm getting OOM error > currently in tomcat and the webapplication is crushing. As u suggested I'm > calling the static TransportClient instance from contextInitialized() and > shutting down with contextDestroyed(). But the methods are not getting > called it seems. Trying like below. > Can you please check. > > public class ESClientFactory implements ServletContextListener { > > /** The logger. */ > private static Logger logger = Logger.getLogger(ESClientFactory.class); > > /** The instance. */ > public static TransportClient instance; > > /** > * Instantiates a new eS client factory. > */ > private ESClientFactory() { > } > > /** > * Gets the single instance of ESClientFactory. > * > * @return single instance of ESClientFactory > */ > public static Client getInstance() { > String ipAddress = MessageTranslator.getMessage("es.cluster.ip"); > int transportClientPort = 0; > String clusterName = MessageTranslator.getMessage("es.cluster.name > "); > > try { > transportClientPort = > Integer.parseInt(MessageTranslator > .getMessage("es.transportclient.port")); > } > catch (Exception e) { > transportClientPort = 9300; > LogImpl.setWarning(ESClientFactory.class, e); > } > > logger.debug("got the client ip as :" + ipAddress + " and port :" > + transportClientPort); > if (instance == null) { > logger > .debug("the client instance is null, creating a new > instance"); > ImmutableSettings.Builder settings = > ImmutableSettings.settingsBuilder(); > settings.put("cluster.name", clusterName); > settings.build(); > instance = > new TransportClient(settings) > .addTransportAddress(new InetSocketTransportAddress( > ipAddress, transportClientPort)); > > logger.debug("returning the new created client instance..."); > return instance; > } > logger > .debug("returning the existing transport client object > connection."); > return instance; > } > > > @Override > public void contextInitialized(ServletContextEvent sce) { > logger.debug("initializing the servletContextListener... TransportClient"); > getInstance(); > } > > @Override > public void contextDestroyed(ServletContextEvent sce) { > logger.debug("closing the servlet context"); > shutdown(); > logger.debug("successfully shutdown threadpool"); > } > > public synchronized void shutdown() { > if (instance != null) { > logger.debug("shutdown started"); > instance.close(); > instance.threadPool().shutdown(); > instance = null; > logger.debug("shutdown complete"); > } > } > > } >
-- You received this message because you are subscribed to the Google Groups "elasticsearch" group. To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/fae4cd13-9f9f-4187-9e23-93d8c73c3132%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.