CORBA::ORB_var orb = CORBA::ORB_init(argc, argv); // Get the root POA PortableServer::POA_var root_poa = PortableServer::POA::_narrow(orb->resolve_initial_references("RootPOA")); // Create a new POA lifespan policy with PERSISTENT lifetime PortableServer::LifespanPolicy_var lifespan_policy = root_poa->create_lifespan_policy(PortableServer::PERSISTENT); // Create a new POA object with the new lifespan policy PortableServer::POA_var persistent_poa = root_poa->create_POA("persistentPOA", PortableServer::POAManager::_nil(), PortableServer::LifespanPolicy::_duplicate(lifespan_policy)); // Apply the new POA object to the ROOT POA manager PortableServer::POAManager_var manager = root_poa->the_POAManager(); manager->activate(); // Use the persistent POA to create new CORBA objects // ...In this example, we create a new POA with a PERSISTENT lifespan policy, meaning objects created within this POA will remain active permanently. We then activate the POA and use it to create new CORBA objects. The package library for this code is the cpp portableserver library.