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 [email protected].
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.