It's fine to use Thread.sleep
in that situation. The reason people discourage Thread.sleep
is because it's frequently used in an ill attempt to fix a race condition, used where notification based synchronization is a much better choice etc.
In this case, AFAIK you don't have an option but poll because the API doesn't provide you with notifications. I can also see it's a infrequent operation because presumably you are not going to create thousand tables.
Therefore, I find it fine to use Thread.sleep
here. As you said, spawning a separate thread when you are going to block the current thread anyways seems to complicate things without merit.