| Using the Java Connection Factory |
The process of creating a pooling server by using the Information Service is basically the same as the process that is described at Connecting with Server Attributes Read from the Information Service, but the following additional steps are required when you create a pooling server:
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.
The following example code shows how to create a pooling server using the Information Service. For information about how to use the object reference, see Java Connection Factory Language Service Example.
The last three statements in the example code show how to dispose of object references. For details about this procedure, see Returning Connections to the Java Connection Factory.
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. ![[cautionend]](../../../../common/61991/HTML/default/images/cautend.gif)
Copyright © 2008 by SAS Institute Inc., Cary, NC, USA. All rights reserved.