diff options
Diffstat (limited to 'ACE/TAO/tests/MProfile_Forwarding/README')
-rw-r--r-- | ACE/TAO/tests/MProfile_Forwarding/README | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/ACE/TAO/tests/MProfile_Forwarding/README b/ACE/TAO/tests/MProfile_Forwarding/README new file mode 100644 index 00000000000..518d6d7ec14 --- /dev/null +++ b/ACE/TAO/tests/MProfile_Forwarding/README @@ -0,0 +1,56 @@ +This test evalutes ORB fault tolerance support, based on one of the +problems that was reported by the DOORS team at Lucent. The test is +aimed at testing the following scenario. + +1. We will have three copies of the same server running. Let me call + them as ref1, ref2 & ref3. + +2. We will have a manager application which does the following. Hosts + a POA with the policies set for a Servant_Locator. Then it creates + the reference on that and does the following + + a. A merged IOR with ref1, ref2 & the reference of the manager + b. A merged IOR with ref2, ref3 & the reference of the manager. + + It publishes/writes the merged IOR from 'a.' in to a file. It uses the IOR + created out of 'b' to throw a ForwardRequest exception. + +3. The client starts by reading the IOR written to a file by the + Manager, that was created by 2a. The client basically makes a remote + call and a shutdown call on the remote objects in a loop ie. multiple times. + + a. When the first call is made, the call is responded by the server who published + ref1. He is then shutdown. + b. On the second call, the call is answered by the server who published ref2. he + is also shutdown next. + c. On the third call, the call first comes to the preinvoke () method in the + Locator class who throws the ForwardRequest exception with the IOR created in + 2b. + d. After the exception is thrown the calls get resolved on the server + who published ref3. He is also shutdown next. + +The above sequence SHOULD be seen to consider the test as being +succesfull. + +To run the test +--------------- + +* Start three copies of the server like this + + $ ./server -o file1.ior + $ ./server -o file2.ior + $ ./server -o file3.ior + +* Then start the Manager like this + + $ ./Manager -a file://file1.ior -b file://file2.ior -c \ + file://file3.ior -d file4.ior + + (The above should be on the same line in the command prompt. The + file4.ior is for publishing the first merged IOR (refer step 2.a). + +* The start the client like this + + $ ./client -o file://file4.ior + + |