As far as I know, for any unsuccessful item subscription, the application will receive a Status message with OmmState.StreamState.CLOSED and OmmState.DataState.SUSPECT via onStatusMsg(..).
When the application receives a StatusMsg with Stream.Close / Data.Suspect after calling consumer.uninitialize(), but not if consumer.unregister() is called before consumer.uninitialize().
I think when the application actively releases the consumer's connection, it should not receive Stream.Close / Data.Suspect, so should we call consumer.unregister() before calling consumer.uninitialize()?
Btw, Many code examples call consumer.uninitialize() directly at the end of the program. So I'm a bit confused as to how I should implement this ?