3 On_Demand_Activation Tests:
4 ==========================
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.
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.
42 You can use the run_test.pl perl script or follow these directions:
44 %server [-ORBobjrefstyle URL] [-f IOR file]
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.
65 2. Get the IOR for "first test" from the server output .
69 4. You should get an output
73 along with some diagnostic messages.
78 2. Get the IOR for "second test" from the server output
82 4. The first time a client is run you should get an output
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).