Fixed a bug which could have caused onSubscriptionError and onCommandSecondLevelSubscriptionError to report wrong error codes, that is, codes different from the documented ones.
Fix the documentation of onClearSnapshot, which is only predisposed.
Added meta-information on method argument names for interface classes, so that developer GUIs can take advantage of them.
Clarified the documentation in regard to a few API methods that still have a partial implementation or are just predisposed and not implemented yet.
Changed the names of some properties in the ConnectionOptions bean. To resume:
This affects the getter and setter names and also the invocations of onPropertyChange on the ClientListener. COMPATIBILITY NOTE: Custom code using any of the mentioned properties has to be ported and any related binaries have to be recompiled.
Added logging messages (at ERROR level) for those cases in which runtime exceptions could be thrown while running some asynchronus code paths.
Fixed potential NullPointerException which could be thrown when setting or updating fields and/or items list if logging is enabled at DEBUG level.
Fixed an error in the log of the keepalive interval setting.
Fixed the documentation of onServerError and onStatusChange, to specify that onServerError is always preceded, not followed, by onStatusChange with DISCONNECTED.
Revised javadoc formatting style and fixed various typos in the javadocs.
Updated the versions of some external libraries which the SDK depends upon.
Changed the type and behavior of the getConnectTimeout/setConnectTimeout. This setting is now represented as a String in order to accept the "auto" value. If "auto" is specified the value used internally will be chosen (and possibly changed overtime) by the library itself. Note that "auto" is also the new default value.
To check and or modify the current value, a new CurrentConnectTimeout property, with its getter/setter pair in ConnectionOptions, is exposed. COMPATIBILITY NOTE: if the setConnectTimeout method is called by the client code, the given parameter must be modified to be a String. If the getConnectTimeout method is called by the client code its receiving variable must be converted to a String; moreover it is likely that getConnectTimeout calls should be replaced by getCurrentConnectTimeout ones. See the docs for further details.
Added the new method disconnectFuture to the LigtstreamerClient class, with the purpose to provide a notification when all
threads started by all LightstreamerClient instances living in the JVM have been terminated, because no more activities need to be managed
and hence event dispatching is no longer necessary.
Such method is especially useful in those environments which require an appropriate resource management, like "full" Java EE application servers or even the simpler Servlet Containers. The method should be used in replacement of disconnect() in all those circumstances where it is indispensable to guarantee a complete shutdown of all user threads, in order to avoid potential memory leaks and waste resources.
See the docs for further details about the proper usage pattern for this method.
Prevented reconnection attempts upon wrong answers from the Server.
Resorted to an external package for the log support. COMPATIBILITY NOTE: Custom code using the LoggerProvider interface should be revised, based on the new documentation; see setLoggerProvider.
Introduced the possibility to override the library-set HTTP headers through the ConnectionOptions.setHttpExtraHeaders method (previously it was the other way round).
Improved the handling of long polling.
Added missing documentation of setProxy in ConnectionOptions.
Introduced as an improved alternative to the SDK for Java SE Clients.
The interface offered is completely different, and it is very similar