src/main/java/com/amlinv/jmxutil/polling/JmxAttributePoller.java
public void poll() throws IOException {
        synchronized (this) {
            // Make sure not to check and create a connection if shutting down.
            if (shutdownInd) {
                return;
            }

            // Atomically indicate polling is active now so a caller can determine with certainty whether polling is
            //  completely shutdown.
            pollActiveInd = true;
        }

        try {
            this.checkConnection();

            this.concurrencyTestHooks.beforePollProcessorStart();

            if (this.mBeanAccessConnection instanceof MBeanBatchCapableAccessConnection) {
                this.batchPollProcessor.pollBatch((MBeanBatchCapableAccessConnection) this.mBeanAccessConnection,
                        this.polledObjects);
            } else {
                this.pollIndividually();
            }
        } catch (IOException ioExc) {
            this.safeClose(this.mBeanAccessConnection);
            this.mBeanAccessConnection = null;

            throw ioExc;
        } finally {
            this.concurrencyTestHooks.afterPollProcessorFinish();

            synchronized (this) {
                pollActiveInd = false;
                this.notifyAll();
            }
        }
    }
public void poll() throws IOException {
        synchronized (this) {
            // Make sure not to check and create a connection if shutting down.
            if (shutdownInd) {
                return;
            }

            // Atomically indicate polling is active now so a caller can determine with certainty whether polling is
            //  completely shutdown.
            pollActiveInd = true;
        }

        try {
            this.checkConnection();

            this.concurrencyTestHooks.beforePollProcessorStart();

            if (this.mBeanAccessConnection instanceof MBeanBatchCapableAccessConnection) {
                this.batchPollProcessor.pollBatch((MBeanBatchCapableAccessConnection) this.mBeanAccessConnection,
                        this.polledObjects);
            } else {
                this.pollIndividually();
            }
        } catch (IOException ioExc) {
            this.safeClose(this.mBeanAccessConnection);
            this.mBeanAccessConnection = null;

            throw ioExc;
        } finally {
            this.concurrencyTestHooks.afterPollProcessorFinish();

            synchronized (this) {
                pollActiveInd = false;
                this.notifyAll();
            }
        }
    }
public void poll ( ) throws IOException { synchronized ( this ) { // Make sure not to check and create a connection if shutting down. if ( shutdownInd ) { return ; } // Atomically indicate polling is active now so a caller can determine with certainty whether polling is //  completely shutdown. pollActiveInd = true ; } try { this . checkConnection ( ) ; this . concurrencyTestHooks . beforePollProcessorStart ( ) ; if ( this . mBeanAccessConnection instanceof MBeanBatchCapableAccessConnection ) { this . batchPollProcessor . pollBatch ( ( MBeanBatchCapableAccessConnection ) this . mBeanAccessConnection , this . polledObjects ) ; } else { this . pollIndividually ( ) ; } } catch ( IOException ioExc ) { this . safeClose ( this . mBeanAccessConnection ) ; this . mBeanAccessConnection = null ; throw ioExc ; } finally { this . concurrencyTestHooks . afterPollProcessorFinish ( ) ; synchronized ( this ) { pollActiveInd = false ; this . notifyAll ( ) ; } } }
Poll the configured objects now and store the results in the objects themselves.

@throws IOException
Poll the configured objects now and store the results in the objects themselves .