List of usage examples for java.util.concurrent TimeoutException getClass
@HotSpotIntrinsicCandidate public final native Class<?> getClass();
From source file:com.clustercontrol.repository.session.RepositoryRunManagementBean.java
/** * Quartz???<BR>//from www. ja v a 2s.c om * <P> * Quartz??????<BR> * <BR> * ?????????<BR> * @throws HinemosUnknown * @throws JobInfoNotFound * * @see com.clustercontrol.jobmanagement.factory.OperationJob#runJob() */ public void run() { if (duplicateExec.tryAcquire()) { try { if (countCheck()) { long start = HinemosTime.currentTimeMillis(); RepositoryControllerBean controller = new RepositoryControllerBean(); //? try { List<String> facilityIdList = controller.getNodeFacilityIdList(); List<Future<Boolean>> futureList = new ArrayList<Future<Boolean>>(); //???? for (String facilityId : facilityIdList) { futureList.add(_executorService.submit(new DeviceSearchTask(facilityId))); } //? for (Future<Boolean> future : futureList) { try { future.get(60 * 1000, TimeUnit.MILLISECONDS); } catch (TimeoutException e) { // SNMP????????????????? m_log.warn("run() : " + e.getClass().getName(), e); } catch (InterruptedException e) { m_log.warn("run() : " + e.getClass().getName(), e); } catch (ExecutionException e) { m_log.warn("run() : " + e.getClass().getName(), e); } } } catch (HinemosUnknown e) { m_log.warn("run() : " + e.getClass().getSimpleName() + ", " + e.getMessage(), e); } m_log.info("auto device search : time=" + (HinemosTime.currentTimeMillis() - start) + "ms"); } } finally { duplicateExec.release(); } } else { m_log.warn("runningCheck is busy !!"); } }