-
create a user context for the pooling
administrator user, who can access the metadata for the puddle logins.
For more information about the pooling administrator, see "Configuring
Client-Side Pooling" in the
SAS Intelligence Platform:
Application Server Administration Guide.
-
specify the name or the user context
for the pooling administrator in the constructor method for PlatformConnectionFactoryConnection.
import com.sas.iom.SAS.IWorkspace;
import com.sas.iom.SAS.IWorkspaceHelper;
import com.sas.services.connection.ConnectionFactoryConfiguration;
import com.sas.services.connection.ConnectionInterface;
import com.sas.services.connection.platform.PlatformConnectionFactoryInterface;
import com.sas.services.connection.platform.PlatformConnectionFactoryConfiguration;
import com.sas.services.information.RepositoryInterface;
import com.sas.services.information.metadata.LogicalServerInterface;
import com.sas.services.user.UserContextInterface;
import com.sas.services.user.UserServiceInterface;
< set up the User Service and create a UserServiceInterface uService >
// Step 1. Create a user context for the pool administrator
UserContextInterface poolUser = uService.newUser("pooladm","pooladmpw",
"pooladmdomain");
// Step 2. Create a user context for a connection factory user
UserContextInterface cxfUser = uService.newUser("user1","user1pw",
"user1domain");
< set up the Information Service and define a repository repos >
// Step 3. Identify the repository
RepositoryInterface cxfRepos = cxfUser.getRepository("repos");
// Step 4. Identify the IOM service
LogicalServerInterface logicalServer =
cxfRepos.fetch("A50IFJQG.AQ000002/LogicalServer");
// Step 5. Create a connection factory configuration
String poolUserName = poolUser.getName();
ConnectionFactoryConfiguration cxfConfig = new
PlatformConnectionFactoryConfiguration(logicalServer, poolUserName);
// Step 6. Get a connection factory manager
PlatformConnectionFactoryManager cxfManager = new
PlatformConnectionFactoryManager();
// Step 7. Get a connection factory using the configuration
PlatformConnectionFactoryInterface cxf =
cxfManager.getPlatformFactory(cxfConfig);
// Step 8. Get a connection
ConnectionInterface cx = cxf.getConnection(cxfUser);
// Step 9. Narrow the connection
org.omg.CORBA.Object obj = cx.getObject();
IWorkspace iWorkspace = IWorkspaceHelper.narrow(obj);
< insert iWorkspace workspace usage code here >
// Step 10. Close the connection when finished
cx.close();
cxf.getAdminInterface().destroy();
Note: To make the previous example
more readable, we have removed most of the code structuring elements.
The example will not compile as it is shown.