- There are complications in object activation beyond simply finding Servants
- Servants must become deactivated at some point
- There are lifetime boundary conditions:
- At process start up, the OA and implementations must be readied before invocations are dispatched
- The Servant cannot be deactivated while threads are inside it
- Dynamic implementations
- OA should be able to load implementations on the fly
- OA should be able to load other OAs as necessary
- An OA might need to temporarily suspend itself so invocations must be queued
- This is only a partial list
- As a result the POA has more moving parts than you might expect
|