Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.apache.helix.util;
  
  /*
   * Licensed to the Apache Software Foundation (ASF) under one
   * or more contributor license agreements.  See the NOTICE file
   * distributed with this work for additional information
   * regarding copyright ownership.  The ASF licenses this file
   * to you under the Apache License, Version 2.0 (the
   * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
  *
  *   http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
 
 import java.util.Map;
 
 
 public class ZKClientPool {
   static final Map<StringZkClient_zkClientMap = new ConcurrentHashMap<StringZkClient>();
   static final int DEFAULT_SESSION_TIMEOUT = 30 * 1000;
 
   public static ZkClient getZkClient(String zkServer) {
     // happy path that we cache the zkclient and it's still connected
     if (.containsKey(zkServer)) {
       ZkClient zkClient = .get(zkServer);
       if (zkClient.getConnection().getZookeeperState() == .) {
         return zkClient;
       }
     }
 
     synchronized () {
       // if we cache a stale zkclient, purge it
       if (.containsKey(zkServer)) {
         ZkClient zkClient = .get(zkServer);
         if (zkClient.getConnection().getZookeeperState() != .) {
           .remove(zkServer);
         }
       }
 
       // get a new zkclient
       if (!.containsKey(zkServer)) {
         ZkClient zkClient =
             new ZkClient(zkServer.,
                 new ZNRecordSerializer());
 
         .put(zkServerzkClient);
       }
       return .get(zkServer);
     }
   }
 
   public static void reset() {
     .clear();
   }
 
   public static void main(String[] argsthrows InterruptedException {
     Thread /*
             * _dataSampleThread = new Thread(new Runnable()
             * {
             * @Override
             * public void run()
             * {
             * int i = 0;
             * while(!Thread.currentThread().isInterrupted())
             * {
             * try
             * {
             * // if the queue is empty, sleep 100 ms and try again
             * Thread.sleep(1000);
             * System.out.println(i++ + "...");
             * throw new RuntimeException("" + i);
             * }
             * catch (InterruptedException e)
             * {
             * System.out.println("Collector thread interrupted" + e);
             * return;
             * }
             * catch(Throwable th)
             * {
             * System.out.println("Collector thread exception/ error" + th);
             * }
             * }
             * }
             * });
             * _dataSampleThread.start();
             * Thread.sleep(10000);
             * _dataSampleThread.interrupt();
             */
    _dataSampleThread = new Thread(new Runnable() {
      @Override
      public void run() {
        int i = 0;
        while (!Thread.currentThread().isInterrupted()) {
          // if the queue is empty, sleep 100 ms and try again
          try {
            Thread.sleep(1000);
          } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
          }
          ..println(i++ + "...");
          throw new Error("" + i);
        }
      }
    });
    _dataSampleThread.start();
    Thread.sleep(10000);
    _dataSampleThread.interrupt();
  }
New to GrepCode? Check out our FAQ X