QuickServer version 1.4.7, open source Java library/framework for quick creation
of robust multi-client TCP server applications is released.
What's New in 1.4.7 ?
--------------------------------
+ Implemented support NIO writes in sendClientXXX methods of ClientHandler.
+ Added initServer() that throws App Exception if it fails.
+ Added getServiceError() to Service interface.
+ Added load() method to QuickServer.
! Removed synchronized from processGotDataInBuffers in NonBlockingClientHandler.
# Improved ByteBufferInputStream for readLine
+ Added availableOnlyInByteBuffer() in NonBlockingClientHandler.
# Improved isLineReadyForStringBuffer() in NonBlockingClientHandler.
# Improved isClientEventNext() in BasicClientHandler.
+ Added check for NewLine miss in NonBlockingClientHandler.
# Added flush() in closeConnection() in BlockingClientHandler.
# Improved setClassLoader() of QuickServer.
! Added check for bootstrap classloader (null) in getClass() method of QuickServer
# Closed Keystore stream when no longer needed.
# shutdown command in QSAdminServer improved to close shell, this will
make server auto exit the jvm when the last client disconnects.
# GhostSocketReaper now will close pools after last client disconnects
after server is stopped.
! Added checks for null returned in ServerSocketChannel accept method.
! Fixed run NonBlockingClientHandler code to prevent more than one threads
from processing selector when server is re-started.
# Modified registerChannel to add to a list and then process when
selector becomes free.
! Fixed synchronization problem in ClientThread pool.returnObject() call.
+ MaxThreadAccessCount in NonBlockingClientHandler is now configurable.
+ Wakeup call on selector after RegisterForWrite and RegisterForRead in
NonBlockingClientHandler is now configurable.
# Improved validateObject method in ClientHandlerObjectFactory to check
if object was created from the same pool
+ Access to clientEvents method is now synchronized.
+ Added flush call after ObjectOutputStream is created in BasicClientHandler.
# Improved kill/exit command in QSAdmin to take a param (exit value)