symphonyoss / symphony-java-client

Java client library for Symphony

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Non-daemon thread somewhere

pmonks opened this issue · comments

Somewhere in SJC (since at least v1.0.2) a thread is being created that's not a daemon thread (I suspect it's the thread that handles the data feed, but I haven't verified this). As a result the JVM won't terminate when the default main thread terminates, leaving bot processes hanging.

It is the DataFeedWorker (in 1.0.2 version MessageFeedWorker) thread.

You have to call SymphonyClient.shutdown() to terminate.

Will look into handling this more gracefully..

Would it make sense to set the thread to be a daemon? Or does that leak resources somewhere?

In addition to the problems with deamon-ness, is simply identifying the thread. I've submitted PR #88 to address the latter issue so we have a better understanding of SymClient-spawned threads.

Thanks @Dovie. Also added to new PresenceWorker..

Going to close this, but happy to reopen if we are seeing issues.