When activating object change monitoring via a GbjSession's monitorChangedObjects flag, if the GbjSession connect() call is immediately followed by another method that accesses the server (such as execute), there is a possibility that either the primary or GbjPoller threads will trigger a GbjException on GemStone error 2203 - "GCI operation requested while a nonblocking or thread safe call in progress for the session".
Follow the GbjSession connect( ) call with Thread.sleep(X) to allow time for the GbjPoller thread to complete its setup. Experiment with values for X (in milliseconds) to determine an optimal value.
Last updated: 9/22/14