-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Conversation
…ycle management that internal BroadcastCache classes require
This is in reference to #765 |
openhab » openhab #1120 SUCCESS |
Rest memory issues to address #765
This breaks the CV-bundle (or the REST bundle). Depending on the order both bundles are loaded the last one´s BroadcasterCache is used for both bundles. As long as you don´t use the CV bundle and the rest bundle is loaded later you experience no problems, as you already noticed. Isn´t it possible to just configure + start the cache manually by: broadcaster.getBroadcasterConfig().setBroadcasterCache(new UUIDBroadcasterCache()); broadcaster.getBroadcasterConfig().getBroadcasterCache().configure(broadcaster.getBroadcasterConfig()); or am I missing something? |
@peuter I will give that a try, I had initially tried starting it manually, but ran into a few NPE issues inside the atmosphere class, I will look at it again as I may have missed a configure step, and I don't honestly remember the specifics of what I tried. I am also hunting down another small leak in a static map in ResourceStateChangeListener that I want to fix as well. |
@digitaldan I had NPE too, you have to call configure() before start() and they´re gone. A quick test looks good so far, the internal "garbage collection" where inactive clients and messages are removed from the cache is called regulary. |
Just made that change now and running some tests under load, thanks for the On Fri, Aug 29, 2014 at 10:28 AM, peuter [email protected] wrote:
|
Signed-off-by: Kai Kreuzer <[email protected]>
This upgrades the Atmosphere version to 2.0.9, it also changes the way we use the UUIDBroadcaster class so that the proper life cycle management (configure, start, stop) is utilized. There was a comment in the code that the CV rest io bundle may interfere with how we are now telling Atmosphere to use the UUIDBroadcaster class, I did not see any issues, but I only enabled the CV bundle, I did not try using it.