public void put ( QueueData queueData , short msgBatch ) // f200337 { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . entry ( this , tc , "put" , new Object [ ] { queueData , "" + msgBatch } ) ; synchronized ( this ) { if ( ! ordered && batchesReady == 1 ) { // A non-ordered async consumer proxy queue only caches one batch at a time. Therefore // if we are trying to put messages on when there is a batch already ready, we // messed up. SIErrorException e = new SIErrorException ( nls . getFormattedMessage ( "ASYNC_BATCH_ALREADY_READY_SICO1031" , null , null ) ) ; FFDCFilter . processException ( e , CLASS_NAME + ".put" , CommsConstants . ASYNCHPQ_PUT_01 , this ) ; throw e ; } queue . addLast ( queueData ) ; // If the data added to the queue was not a chunked message, then we have received an // entire message - so update counters etc if ( ! queueData . isChunkedMessage ( ) ) { notifyMessageReceived ( queueData . isLastInBatch ( ) ) ; } } if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isDebugEnabled ( ) ) SibTr . debug ( this , tc , "Put has completed: " + this ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . exit ( this , tc , "put" ) ; }
Places a message onto the queue .