| ASF |
#693321 |
Tue Sep 09 00:09:25 UTC 2008 |
dblevins |
OPENEJB-903: Multicast discovery and grouping
OPENEJB-911: Graceful shutdown of client/server connections
OPENEJB-857: Client connection KeepAlive (had to rewrite this for OPENEJB-911)
Added a ClusterMetaData which is similar to what the ServerMetaData was aiming to be. The issue with the ServerMetaData is that it's tracked on a per-ejb-proxy basis and any updates to the list of servers in the cluster are only reflected in the proxy immediately used. All other proxies will still hold onto the outdated list. Second, not all request types could be clustered and have failover, essentially only ejb requests could failover, jndi and authentication could not. Now the ClusterMetaData version associated with the ServerMetaData is sent to the server *before* the main request and then the server can send back a new list regardless of which type of request it is.
Additionally code has been added to guarantee that the ServerMetaData the client used to connet with the server or cluster is the used in an EJB proxies created via the IntraVM server when the are replaced for Remote Server proxies at serialization. Previously they were sent back with "foo://localhost:4201" as the server address which was not good.
|