Maintenance version: numerous fixes and optimizations
Changes NTransaction architecture to expose a Repository interface; then implements a File and DB repository (using Derby).
Implements a DBTransaction (using Derby).
Fix: allows the AgentServer to restart after a bad start. Allows the JCA connector to be undeployed then redeployed.
Implements multi-threading in HttpNetwork server part.
Bug fix: run onException in a separate thread to avoid deadlock in connector onException method (synchronized).
Fix bugs in RequestMultiplexer:
a- call local close() first and then the connection close().
b- don't reschedule the heart beat task (forbidden by java.util.Timer)
Fix bug in ReliableTcpClient: send() reconnects only if reconnect true. If an error is raised, close the client.
Fix bug in TcpReader (canStop not properly assigned -> InterruptedIOException raised when stopping Joram)
Fix synchronization of close() in Connection, Session and MessageConsumer: instantiate closer in constructor. RequestMultiplexer is also fixed in order to prevent deadlock between concurrent call to Connection.close()
Fix bug in MessageConsumerListener: sending ConsumerUnsetListRequest is useless for a Topic and raises an InvalidDestinationException. Comment the request reaction in ProxyImpl.
Report a configuration feature in JNDI: Allow to set SO_TIMEOUT TCP parameter on the client's socket throught fr.dyade.aaa.jndi2.socketTimeOut (by default 0 for an infinite timeout).
Fix a potential deadlock in acknowledge handling between client and server reader and writer thread.
Fix bug in ReliableTcpConnection (deadlock with server)