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 .