Issue Details (XML | Word | Printable)

Key: OPENEJB-903
Type: New Feature New Feature
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: David Blevins
Reporter: David Blevins
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
OpenEJB

Multicast discovery and grouping

Created: 31/Aug/08 01:29 AM   Updated: 18/Jan/09 01:17 PM
Return to search
Component/s: server
Affects Version/s: None
Fix Version/s: 3.1

Time Tracking:
Not Specified

Issue Links:
Reference
 

Resolution Date: 25/Sep/08 08:01 PM


 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Repository Revision Date User Message
ASF #690629 Sun Aug 31 03:23:03 UTC 2008 dblevins OPENEJB-904: Pluggable Client/Server connection strategies and factories
OPENEJB-903: Multicast discovery and grouping

903 is only partially complete
Files Changed
MODIFY /openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/ServerMetaData.java
ADD /openejb/trunk/openejb3/server/openejb-discovery/src/main/java/org/apache/openejb/server/discovery/DiscoveryAgent.java
REPLACE /openejb/trunk/openejb3/server/openejb-discovery/src (from /openejb/trunk/openejb3/server/openejb-admin/src)
MODIFY /openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/Client.java
ADD /openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/MulticastSearch.java
DEL /openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/ConnectionFactoryStrategy.java
ADD /openejb/trunk/openejb3/server/openejb-client/src/test/java/org/apache/openejb/client/StickyConnectionStrategyTest.java (from /openejb/trunk/openejb3/server/openejb-client/src/test/java/org/apache/openejb/client/StickToLastServerConnectionFactoryStrategyTest.java)
MODIFY /openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/SocketConnectionFactory.java
ADD /openejb/trunk/openejb3/server/openejb-discovery/src/main/java/org/apache/openejb/server
ADD /openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/Registry.java
DEL /openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/StickToLastServerConnectionFactoryStrategy.java
REPLACE /openejb/trunk/openejb3/server/openejb-discovery/pom.xml (from /openejb/trunk/openejb3/server/openejb-admin/pom.xml)
ADD /openejb/trunk/openejb3/server/openejb-discovery/src/test/java/org/apache/openejb/server
ADD /openejb/trunk/openejb3/server/openejb-discovery/src/test/java/org/apache/openejb/server/discovery/MulticastDiscoveryAgentTest.java
MODIFY /openejb/trunk/openejb3/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceDaemon.java
ADD /openejb/trunk/openejb3/server/openejb-discovery/src/main/java/org/apache/openejb/server/discovery/DiscoveryListener.java
MODIFY /openejb/trunk/openejb3/server/openejb-client/src/test/java/org/apache/openejb/client/ConnectionManagerTest.java
ADD /openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/ConnectionStrategy.java (from /openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/ConnectionFactoryStrategy.java)
ADD /openejb/trunk/openejb3/server/openejb-discovery/src/main/resources/META-INF/org.apache.openejb.server.ServersService/multicast
ADD /openejb/trunk/openejb3/server/openejb-discovery/src/main/java/org/apache/openejb/server/discovery/MulticastSearch.java
MODIFY /openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/HttpConnectionFactory.java
DEL /openejb/trunk/openejb3/server/openejb-client/src/test/java/org/apache/openejb/client/StickToLastServerConnectionFactoryStrategyTest.java
ADD /openejb/trunk/openejb3/server/openejb-discovery/src/main/resources/META-INF
ADD /openejb/trunk/openejb3/server/openejb-discovery (from /openejb/trunk/openejb3/server/openejb-admin)
MODIFY /openejb/trunk/openejb3/server/pom.xml
ADD /openejb/trunk/openejb3/server/openejb-discovery/src/main/resources
ADD /openejb/trunk/openejb3/server/openejb-discovery/src/main/java/org/apache/openejb/server/discovery
ADD /openejb/trunk/openejb3/server/openejb-discovery/src/main/java/org/apache/openejb/server/discovery/MulticastDiscoveryAgent.java
ADD /openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/StickyConnectionStrategy.java (from /openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/StickToLastServerConnectionFactoryStrategy.java)
MODIFY /openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/ConnectionManager.java
ADD /openejb/trunk/openejb3/server/openejb-discovery/src/main/resources/META-INF/org.apache.openejb.server.ServersService
ADD /openejb/trunk/openejb3/server/openejb-discovery/src/test/java/org/apache/openejb/server/discovery
MODIFY /openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/ConnectionFactory.java

Repository Revision Date User Message
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.
Files Changed
ADD /openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/ClusterMetaData.java
MODIFY /openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/EJBRequest.java
MODIFY /openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/ServerMetaData.java
DEL /openejb/trunk/openejb3/server/openejb-discovery/src/main/java/org/apache/openejb/server/discovery/DiscoveryAgent.java
ADD /openejb/trunk/openejb3/server/openejb-ejbd/src/test/java/org/apache/openejb/server/ejbd/FailoverTest.java
MODIFY /openejb/trunk/openejb3/server/openejb-server/src/main/java/org/apache/openejb/server/ServicePool.java
MODIFY /openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/Client.java
ADD /openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/KeepAliveStyle.java
MODIFY /openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/ProtocolMetaData.java
MODIFY /openejb/trunk/openejb3/server/openejb-client/src/test/java/org/apache/openejb/client/StickyConnectionStrategyTest.java
ADD /openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/ClusterResponse.java
ADD /openejb/trunk/openejb3/server/openejb-server/src/main/java/org/apache/openejb/server/DiscoveryAgent.java (from /openejb/trunk/openejb3/server/openejb-discovery/src/main/java/org/apache/openejb/server/discovery/DiscoveryAgent.java)
MODIFY /openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/EjbDaemon.java
ADD /openejb/trunk/openejb3/server/openejb-server/src/main/java/org/apache/openejb/server/ServerServiceFilter.java
MODIFY /openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/SocketConnectionFactory.java
ADD /openejb/trunk/openejb3/server/openejb-server/src/main/java/org/apache/openejb/server/DiscoveryListener.java (from /openejb/trunk/openejb3/server/openejb-discovery/src/main/java/org/apache/openejb/server/discovery/DiscoveryListener.java)
ADD /openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/ClusterRequest.java
MODIFY /openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/CallContext.java
MODIFY /openejb/trunk/openejb3/server/openejb-discovery/src/test/java/org/apache/openejb/server/discovery/MulticastDiscoveryAgentTest.java
MODIFY /openejb/trunk/openejb3/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceDaemon.java
DEL /openejb/trunk/openejb3/server/openejb-discovery/src/main/java/org/apache/openejb/server/discovery/DiscoveryListener.java
MODIFY /openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/ConnectionStrategy.java
MODIFY /openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/KeepAliveServer.java
ADD /openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/VersionedSet.java
MODIFY /openejb/trunk/openejb3/server/openejb-ejbd/pom.xml
MODIFY /openejb/trunk/openejb3/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceManager.java
ADD /openejb/trunk/openejb3/server/openejb-server/src/main/java/org/apache/openejb/server/DiscoveryRegistry.java
ADD /openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/Exceptions.java
MODIFY /openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/ClientObjectFactory.java
MODIFY /openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/EjbServer.java
MODIFY /openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/RequestMethodConstants.java
MODIFY /openejb/trunk/openejb3/server/openejb-discovery/src/main/java/org/apache/openejb/server/discovery/MulticastDiscoveryAgent.java
MODIFY /openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/StickyConnectionStrategy.java
ADD /openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/ClusterRequestHandler.java
MODIFY /openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/ConnectionManager.java

Repository Revision Date User Message
ASF #693762 Wed Sep 10 10:01:16 UTC 2008 dblevins OPENEJB-903: Multicast discovery and grouping
OPENEJB-912: Client-side Connection Pool
OPENEJB-913: Client Connection Failover and Request Retry
Files Changed
MODIFY /openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/ClusterRequest.java
ADD /openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/MulticastConnectionFactory.java
MODIFY /openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/ClusterMetaData.java
MODIFY /openejb/trunk/openejb3/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceDaemon.java
MODIFY /openejb/trunk/openejb3/server/openejb-client/src/test/java/org/apache/openejb/client/ConnectionManagerTest.java
MODIFY /openejb/trunk/openejb3/server/openejb-ejbd/src/test/java/org/apache/openejb/server/ejbd/FailoverTest.java
MODIFY /openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/JNDIContext.java
MODIFY /openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/HttpConnectionFactory.java
MODIFY /openejb/trunk/openejb3/server/openejb-ejbd/src/main/resources/META-INF/org.apache.openejb.server.ServerService/ejbd
MODIFY /openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/Client.java
MODIFY /openejb/trunk/openejb3/server/openejb-client/src/test/java/org/apache/openejb/client/StickyConnectionStrategyTest.java
ADD /openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/Exceptions.java
MODIFY /openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/SocketConnectionFactory.java
ADD /openejb/trunk/openejb3/server/openejb-ejbd/src/test/java/org/apache/openejb/server/ejbd/ClientMulticastDiscoveryTest.java
ADD /openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/RemoteFailoverException.java
MODIFY /openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/Connection.java
MODIFY /openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/StickyConnectionStrategy.java
MODIFY /openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/ConnectionManager.java
MODIFY /openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/ClusterRequestHandler.java