I just started using the LightStreaming Java client to stream prices for financial instruments, a very common use case. What is different from many other usages is that my application is not an end-user client, but middleware running on a Tomcat server, doing some calculations and then giving the data to the end-user in a different format.
The LightStreamer java client does not look like it was designed for middleware usage at all. Any connection based Client need some sort of lifecycle, the LightStreamerClient has connect() and disconnect(), but they do not implement proper resource (Thread) management.
In a J2Se/J2EE application it is extremely important that any threads a client library starts can also be stopped by the client library, otherwise you will create a memory leak when the application is undeployed.
Debugging the code I can see that all threads have been configured as daemon, this will work fine if the LightStreamClient has the same lifecycle as the JVM it lives inside, but you should NEVER have daemon threads if you client may be used in a J2SE/J2EE container like Tomcat/JBoss.
This is a very common problem for immature frameworks, but i had honestly expected better from software that has been around for this long.