| The following fix for 237849  has been checked in, and was previously
reviewed.
 
 https://bugs.eclipse.org/237849
 (A patch file has also been uploaded to this bug)
 
 Description:
 
 The primary problem is that service id used by RemoteCommandManager is
set to
 System.identityHashCode (see oracle.toplink.remotecommand.ServiceId).
 
 Such id would only be unique in its VM, but could be duplicated in
another
 VM. Hovever RCM relies on this id to be unique - and that may cause all
sorts
 of problems.
 
 Secondary problem involved JMSTopicRemoteConnection incorrectly
processing its
 own messages.
 
 Resolved issue by adding a method 'boolean shouldCheckServiceId()' to
 BroadcastRemoteConnection, and adding a check in the
processReceivedObject()
 method to not invoke processCommandFromRemoteConnection() on the
 RemoteCommandManager if shouldCheckServiceId() returns true;
 
 Overrode shouldCheckServiceId() on JMSTopicRemoteConnection to return
true.
 
 Changed ServiceId to have a better unique identifier other than its
hashcode,
 imported java.util.UUID and used a Stringified instance of this as the
internal
 id to ServiceId. In my testing, it was very fast to create a UUID.
 
 Also fixed some spelling mistakes in the classes.
 
 Code Review:
 
 Not Required (previously reviewed by Andrei
Ilitchev)
 
 Testing:
 
 LRG + All RCM tests in Non-LRG (A-OK)
 
 
 --   David Minsky | Senior Member of Technical Staff | (613)
288-4605 Oracle Server Technologies DDR
 45 O'Connor Street, Suite 400, Ottawa, Ontario, Canada K1P 1A4
 |