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/814fdb41-461b-4b5c-8bad-835039d76c24%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.