Example usage for java.util.concurrent TimeoutException getClass

List of usage examples for java.util.concurrent TimeoutException getClass

Introduction

In this page you can find the example usage for java.util.concurrent TimeoutException getClass.

Prototype

@HotSpotIntrinsicCandidate
public final native Class<?> getClass();

Source Link

Document

Returns the runtime class of this Object .

Usage

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 !!");
    }
}