}
continue;
}
}
// process message - one at a time
PushData message = (PushData) _messageQueue.elementAt( 0 );
processMessage( message );
// remove message from queue
synchronized( _messageQueue ) {
_messageQueue.removeElementAt( 0 );
}
}
// clean-up any messages that were not processed
// sync up with listen thread to make sure all messages
// are in the queue so everything is cleaned up
try {
_listenThread.join();
} catch( Exception e ) {
// ignore, proceed with clean-up
}
Enumeration messagesList = _messageQueue.elements();
PushData message;
while( messagesList.hasMoreElements() ) {
message = (PushData) messagesList.nextElement();
message.discard();
}
}