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.

Reply via email to