Merge pull request #2258 from likema/log-msg-reset-ostream
[ACE_TAO.git] / TAO / tests / POA / On_Demand_Activation / README
blob9a2b63d7fd76a6664433fac4f4cb551b65bac105
3 On_Demand_Activation Tests:
4 ==========================
6 Description:
7 ===========
9 ServantManagers:
10 ===============
12 Servant managers are associated with POAs. A servant manager supplies
13 a POA with the ability to objects on demand when the POA receives a
14 request targeted at an inactive object. A servant manager is
15 registered with a POA as a callback object, to be invoked by the POA
16 when necessary.  An application server that activates all its needed
17 objects at the beginning of execution does not need to use a servant
18 manager; it is used only for the case in which an object must be
19 activated during request processing.
21 When the POA has the RETAIN policy it uses servant managers that are
22 ServantActivators. When the POA has the NON_RETAIN policy it uses
23 servant managers that are ServantLocators.
25 server:
26 ======
28         The test program server creates 2 POAs firstPOA and secondPOA.
29 firstPOA is created with a RETAIN,USER_ID,USE_SERVANT_MANAGER policy
30 and test_i_Activator is registered as its servant Manager.
31 secondPOA is created with a NON_RETAIN,USER_ID,USE_SERVANT_MANAGER
32 policy and ServantLocator is registered as it servant Manager.
34 It then creates an object reference from the string "first test" in
35 firstPOA and prints its IOR.Similarly it creates an object reference
36 from the string "second test" in secondPOA and prints its IOR. Finally
37 it changes the state of the POA_Manager to 'active' and runs the ORB.
39 USAGE:
40 ======
42 You can use the run_test.pl perl script or follow these directions:
44 %server [-ORBobjrefstyle URL] [-f IOR file]
46 client:
47 ======
48         The client program is in the path
50         TAO/tests/POA/Generic_Servant/client
51         i.e ../Generic_Servant/client
53 % client [-k IOR] [-f IOR file]
55 where IOR is got from the server output to the screen or to the IOR file.
57 To Test:
58 =======
60 1. Run the server
62 Servant Activator:
63 ===================
65 2. Get the IOR for "first test"  from the server output .
67 3. Run client -k IOR
69 4. You should get an output
71         27
73 along with some diagnostic messages.
75 Servant Locator:
76 =================
78 2. Get the IOR for "second test" from the server output
80 3. Run client -k IOR
82 4. The first time a client is run you should get an output
84         2 (or 1)
86 along with some diagnostic messages.
88 5. Subsequent runs of the client program results in the output
89    incremented by 2 (or 1).
91 6. Thus, the second run of client should give you an output 4 (or 2).