***  This class provides Binary Compatibility only, not Source Compatibility  ***

com.sas.services.connection
Class Server

com.sas.services.connection.Server
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable
Direct Known Subclasses:
TCPIPServer

public abstract class Server
implements java.lang.Cloneable, java.io.Serializable

A base class for describing IOM servers.

See Also:
Serialized Form

Field Summary
static java.lang.String AUTH_SERVICE_HOST
          Authenticate against the host on which the server is running.
static java.lang.String AUTH_SERVICE_METADATA
          Authenticate against a SAS Metadata Server.
static java.lang.String AUTH_SERVICE_NONE
          No authentication required.
static java.lang.String AUTH_SERVICE_PROMPT
          Prompt for a credential that will be authenticated against the host on which the server is running.
static java.lang.String CLSID_OBJSPAWN
          The class ID of the SAS Object Spawner (current major version).
static java.lang.String CLSID_OBJSPAWN_1_0
          The class ID of the SAS Object Spawner (version 1.0).
static java.lang.String CLSID_OBJSPAWN_1_1
          The class ID of the SAS Object Spawner (version 1.1).
static java.lang.String CLSID_POOLED_SAS
          The class ID of the Pooled SAS toplevel class (current major version).
static java.lang.String CLSID_POOLED_SAS_1_0
          The class ID of the Pooled SAS toplevel class (version 1.0).
static java.lang.String CLSID_SAS
          The class ID of the SAS toplevel class (current major version).
static java.lang.String CLSID_SAS_1_0
          The class ID of the SAS toplevel class (version 1.0).
static java.lang.String CLSID_SAS_1_1
          The class ID of the SAS toplevel class (version 1.1).
static java.lang.String CLSID_SAS_1_2
          The class ID of the SAS toplevel class (version 1.2).
static java.lang.String CLSID_SASGMS
          The class ID of the SASGMS toplevel class (current major version).
static java.lang.String CLSID_SASGMS_1_0
          The class ID of the SASGMS toplevel class (version 1.0).
static java.lang.String CLSID_SASMDX
          The class ID of the SASMDX toplevel class (current major version).
static java.lang.String CLSID_SASMDX_1_0
          The class ID of the SASMDX toplevel class (version 1.0).
static java.lang.String CLSID_SASMQX
          The class ID of the SASMQX toplevel class (current major version).
static java.lang.String CLSID_SASMQX_1_0
          The class ID of the SASMQX toplevel class (version 1.0).
static java.lang.String CLSID_SASOMI
          The class ID of the SASOMI toplevel class (current major version).
static java.lang.String CLSID_SASOMI_1_0
          The class ID of the SASOMI toplevel class (version 1.0).
static java.lang.String CLSID_SASOMI_1_1
          The class ID of the SASOMI toplevel class (version 1.1).
static java.lang.String CLSID_SASOMI_2_0
          The class ID of the SASOMI toplevel class (version 2.0).
static java.lang.String CLSID_SASSTP
          The class ID of the SASSTP toplevel class (current major version).
static java.lang.String CLSID_SASSTP_1_0
          The class ID of the SASSTP toplevel class (version 1.0).
static java.lang.String CLSID_SASTableServer
          The class ID of the SAS Table Server (current major version).
static java.lang.String CLSID_SASTableServer_1_0
          The class ID of the SAS Table Server (version 1.0).
static java.lang.String CLSID_UNDESIGNATED
          A class ID that does not designate any class.
static java.lang.String OBJSPAWN_ID
          A string used to identify the SAS Object Spawner in old metadata.
static java.lang.String SECURITY_PACKAGE_KERBEROS
          Authentication using Kerberos.
static java.lang.String SECURITY_PACKAGE_LIST_DEFAULT
          The default value for securityPackageList.
static java.lang.String SECURITY_PACKAGE_NEGOTIATE
          Authenticate using a security package supported by both the client and server.
static java.lang.String SECURITY_PACKAGE_NTLM
          Authenticate using NTLM.
 
Constructor Summary
Server(java.lang.String classID)
          Construct an object describing an IOM server.
 
Method Summary
 java.lang.Object clone()
           
 boolean equals(java.lang.Object that)
           
static Server fromURI(SASURI uri)
          Convert a URI into a Server.
 java.lang.String getAuthService()
          Get the authentication service to use when connecting to this server.
 java.lang.String getClassID()
          Get the class ID.
 java.lang.String getDomain()
          Get the authentication domain.
 int getMaxClients()
          Get the maximum number of clients.
 java.lang.String getNormalizedClassID()
          Get the normalized class ID.
 java.lang.String getNormalizedSecurityPackage()
          Get the normalized security package to use when connecting to this server.
 java.lang.String getNormalizedSecurityPackageList()
          Get the normalized list of security packages to use when connecting to this server.
 int getReactivationLimit()
          Get the maximum number of reactivations.
 java.lang.String getSecurityPackage()
          Get the security package to use when connecting to this server.
 java.lang.String getSecurityPackageList()
          Get the list of security packages to use when connecting to this server.
 java.lang.String getServerComponentURI()
          Get the ServerComponent URI for this server.
 int getShutdownAfterMinutes()
          Get the number of minutes before an idle connection is destroyed.
 java.lang.String getSPN()
          Get the service principal name to use when connecting to this server.
 int hashCode()
           
static java.lang.String normalizeSecurityPackage(java.lang.String securityPackage)
          Normalize a security package name.
static java.lang.String normalizeSecurityPackageList(java.lang.String securityPackageList)
          Normalize a security package list.
 void setAuthService(java.lang.String authService)
          Set the authentication service to use when connecting to this server.
 void setClassID(java.lang.String classID)
          Set the class ID.
 void setDomain(java.lang.String domain)
          Set the authentication domain.
 void setMaxClients(int maxClients)
          Set the maximum number of clients.
 void setReactivationLimit(int reactivationLimit)
          Set the maximum number of reactivations.
 void setSecurityPackage(java.lang.String securityPackage)
          Set the security package to use when connecting to this server.
 void setSecurityPackageList(java.lang.String securityPackageList)
          Set the list of security packages to use when connecting to this server.
 void setServerComponentURI(java.lang.String serverComponentURI)
          Set the ServerComponent URI for this server.
 void setShutdownAfterMinutes(int shutdownAfterMinutes)
          Set the number of minutes before an idle connection is destroyed.
 void setSPN(java.lang.String spn)
          Set the service principal name to use when connecting to this server.
 java.lang.String toString()
           
 

Field Detail

CLSID_SAS_1_0

public static final java.lang.String CLSID_SAS_1_0
The class ID of the SAS toplevel class (version 1.0).

See Also:
getClassID(), Constant Field Values

CLSID_SAS_1_1

public static final java.lang.String CLSID_SAS_1_1
The class ID of the SAS toplevel class (version 1.1).

See Also:
getClassID(), Constant Field Values

CLSID_SAS_1_2

public static final java.lang.String CLSID_SAS_1_2
The class ID of the SAS toplevel class (version 1.2).

See Also:
getClassID(), Constant Field Values

CLSID_SAS

public static final java.lang.String CLSID_SAS
The class ID of the SAS toplevel class (current major version).

See Also:
getClassID(), Constant Field Values

CLSID_POOLED_SAS_1_0

public static final java.lang.String CLSID_POOLED_SAS_1_0
The class ID of the Pooled SAS toplevel class (version 1.0).

See Also:
getClassID(), Constant Field Values

CLSID_POOLED_SAS

public static final java.lang.String CLSID_POOLED_SAS
The class ID of the Pooled SAS toplevel class (current major version).

See Also:
getClassID(), Constant Field Values

CLSID_SASGMS_1_0

public static final java.lang.String CLSID_SASGMS_1_0
The class ID of the SASGMS toplevel class (version 1.0).

See Also:
getClassID(), Constant Field Values

CLSID_SASGMS

public static final java.lang.String CLSID_SASGMS
The class ID of the SASGMS toplevel class (current major version).

See Also:
getClassID(), Constant Field Values

CLSID_SASMDX_1_0

public static final java.lang.String CLSID_SASMDX_1_0
The class ID of the SASMDX toplevel class (version 1.0).

See Also:
getClassID(), Constant Field Values

CLSID_SASMDX

public static final java.lang.String CLSID_SASMDX
The class ID of the SASMDX toplevel class (current major version).

See Also:
getClassID(), Constant Field Values

CLSID_SASMQX_1_0

public static final java.lang.String CLSID_SASMQX_1_0
The class ID of the SASMQX toplevel class (version 1.0).

See Also:
getClassID(), Constant Field Values

CLSID_SASMQX

public static final java.lang.String CLSID_SASMQX
The class ID of the SASMQX toplevel class (current major version).

See Also:
getClassID(), Constant Field Values

CLSID_SASOMI_1_0

public static final java.lang.String CLSID_SASOMI_1_0
The class ID of the SASOMI toplevel class (version 1.0).

See Also:
getClassID(), Constant Field Values

CLSID_SASOMI_1_1

public static final java.lang.String CLSID_SASOMI_1_1
The class ID of the SASOMI toplevel class (version 1.1).

See Also:
getClassID(), Constant Field Values

CLSID_SASOMI_2_0

public static final java.lang.String CLSID_SASOMI_2_0
The class ID of the SASOMI toplevel class (version 2.0).

See Also:
getClassID(), Constant Field Values

CLSID_SASOMI

public static final java.lang.String CLSID_SASOMI
The class ID of the SASOMI toplevel class (current major version).

See Also:
getClassID(), Constant Field Values

CLSID_SASSTP_1_0

public static final java.lang.String CLSID_SASSTP_1_0
The class ID of the SASSTP toplevel class (version 1.0).

See Also:
getClassID(), Constant Field Values

CLSID_SASSTP

public static final java.lang.String CLSID_SASSTP
The class ID of the SASSTP toplevel class (current major version).

See Also:
getClassID(), Constant Field Values

CLSID_OBJSPAWN_1_0

public static final java.lang.String CLSID_OBJSPAWN_1_0
The class ID of the SAS Object Spawner (version 1.0).

See Also:
getClassID(), Constant Field Values

CLSID_OBJSPAWN_1_1

public static final java.lang.String CLSID_OBJSPAWN_1_1
The class ID of the SAS Object Spawner (version 1.1).

See Also:
getClassID(), Constant Field Values

CLSID_OBJSPAWN

public static final java.lang.String CLSID_OBJSPAWN
The class ID of the SAS Object Spawner (current major version).

See Also:
getClassID(), Constant Field Values

CLSID_SASTableServer_1_0

public static final java.lang.String CLSID_SASTableServer_1_0
The class ID of the SAS Table Server (version 1.0).

See Also:
getClassID(), Constant Field Values

CLSID_SASTableServer

public static final java.lang.String CLSID_SASTableServer
The class ID of the SAS Table Server (current major version).

See Also:
getClassID(), Constant Field Values

CLSID_UNDESIGNATED

public static final java.lang.String CLSID_UNDESIGNATED
A class ID that does not designate any class.

See Also:
getClassID(), Constant Field Values

OBJSPAWN_ID

public static final java.lang.String OBJSPAWN_ID
A string used to identify the SAS Object Spawner in old metadata. This value cannot be used to connect an adminstrative client to the SAS Object Spawner operator port.

See Also:
Constant Field Values

AUTH_SERVICE_HOST

public static final java.lang.String AUTH_SERVICE_HOST
Authenticate against the host on which the server is running. Host authentication can include user name/password and security packages such as Kerberos and NTLM.

See Also:
SECURITY_PACKAGE_KERBEROS, SECURITY_PACKAGE_NTLM, SECURITY_PACKAGE_NEGOTIATE, Constant Field Values

AUTH_SERVICE_METADATA

public static final java.lang.String AUTH_SERVICE_METADATA
Authenticate against a SAS Metadata Server. Typically a specialized connection factory will generate a credential for the connecting user and send it to the target server. The target server will, in turn, forward the generated credential to the SAS Metadata Server for authentication.

See Also:
Constant Field Values

AUTH_SERVICE_PROMPT

public static final java.lang.String AUTH_SERVICE_PROMPT
Prompt for a credential that will be authenticated against the host on which the server is running. The credential must be a user name and password. Typically, a specialized connection factory is responsible for initiating the prompt through a callback registered by the application.

See Also:
Constant Field Values

AUTH_SERVICE_NONE

public static final java.lang.String AUTH_SERVICE_NONE
No authentication required. The connection factory will not send a credential to the server for authentication.

See Also:
Constant Field Values

SECURITY_PACKAGE_KERBEROS

public static final java.lang.String SECURITY_PACKAGE_KERBEROS
Authentication using Kerberos.

See Also:
AUTH_SERVICE_HOST, Constant Field Values

SECURITY_PACKAGE_NTLM

public static final java.lang.String SECURITY_PACKAGE_NTLM
Authenticate using NTLM.

See Also:
AUTH_SERVICE_HOST, Constant Field Values

SECURITY_PACKAGE_NEGOTIATE

public static final java.lang.String SECURITY_PACKAGE_NEGOTIATE
Authenticate using a security package supported by both the client and server.

See Also:
AUTH_SERVICE_HOST, SECURITY_PACKAGE_KERBEROS, SECURITY_PACKAGE_NTLM, SECURITY_PACKAGE_LIST_DEFAULT, Constant Field Values

SECURITY_PACKAGE_LIST_DEFAULT

public static final java.lang.String SECURITY_PACKAGE_LIST_DEFAULT
The default value for securityPackageList.

See Also:
Constant Field Values
Constructor Detail

Server

public Server(java.lang.String classID)
Construct an object describing an IOM server.

Parameters:
classID - the class ID
See Also:
setClassID(java.lang.String)
Method Detail

setClassID

public void setClassID(java.lang.String classID)
Set the class ID. The class ID identifies the type of IOM object that the server is configured to instantiate. The fields of this class named CLSID_* provide several possible values for this attribute, but there may be other valid values in newer server versions. If the server is not configured to instantiate IOM objects of this type, then connections attempts to the server will fail.

Parameters:
classID - the class ID
Throws:
java.lang.IllegalArgumentException - if this attribute is set to null
See Also:
CLSID_SAS, CLSID_SAS_1_1, CLSID_SASMDX, CLSID_SASGMS, CLSID_SASMQX, CLSID_SASOMI, CLSID_SASSTP, CLSID_OBJSPAWN, CLSID_OBJSPAWN_1_1

getClassID

public java.lang.String getClassID()
Get the class ID.

Returns:
the class ID
See Also:
setClassID(java.lang.String)

getNormalizedClassID

public java.lang.String getNormalizedClassID()
Get the normalized class ID. A normalized class ID is all lowercase.

Returns:
the normalized class ID
See Also:
setClassID(java.lang.String)

setMaxClients

public void setMaxClients(int maxClients)
Set the maximum number of clients. This attribute is ignored by the connection factory unless the server is participating in a connection pool. For connection pools, this attribute determines the maximum number of connections a factory may have to the server at any given time. The default value is 10.

Parameters:
maxClients - the maximum number of clients
Throws:
java.lang.IllegalArgumentException - if this attribute is set to a value less than 1

getMaxClients

public int getMaxClients()
Get the maximum number of clients.

Returns:
the maximum number of clients
See Also:
setMaxClients(int)

setReactivationLimit

public void setReactivationLimit(int reactivationLimit)
Set the maximum number of reactivations. This attribute is ignored by the connection factory unless the server is participating in a connection pool. For connection pools, this attribute determines the number of times a connection to this server will be refreshed and reused by the factory to satisfy connection requests. Once the limit is reached, the factory will destroy the connection and reconnect if necessary.

In theory, refreshing a connection should cause the server to release all resources associated with the connection and return to its initial state. However, if there are bugs in the server that allow resource use to accumulate over several connection reuses, then the server may eventually run out of that resource. This attribute allows the factory to periodically restart servers and force all resources to be released.

If the value is 0, then connections will be refreshed and reused indefinitely (subject to limitations set by other attributes). The default value is 0.

Parameters:
reactivationLimit - the maximum number of reactivations
Throws:
java.lang.IllegalArgumentException - if this attribute is set to a value less than 0

getReactivationLimit

public int getReactivationLimit()
Get the maximum number of reactivations.

Returns:
the maximum number of reactivations
See Also:
setReactivationLimit(int)

setShutdownAfterMinutes

public void setShutdownAfterMinutes(int shutdownAfterMinutes)
Set the number of minutes before an idle connection is destroyed. This attribute is ignored by the connection factory unless the server is participating in a connection pool. For connection pools, this attribute determines how long an unallocated connection will be kept alive by the factory. This attribute takes precedence over the minSize and minAvail attributes in that a puddle with a non-negative value for this attribute is allowed to shutdown all connections after the required period of idleness even if it also has strictly positive values for minSize or minAvail.

-1 means idle connections will be kept alive until connection factory shutdown. 0 means a connection returned to the factory will be destroyed immediately unless another user is waiting for it. The default value is -1.

Parameters:
shutdownAfterMinutes - the number of minute before an idle connection is destroyed
Throws:
java.lang.IllegalArgumentException - if this attribute is set to a value less than -1

getShutdownAfterMinutes

public int getShutdownAfterMinutes()
Get the number of minutes before an idle connection is destroyed.

Returns:
the number of minute before an idle connection is destroyed
See Also:
setShutdownAfterMinutes(int)

setDomain

public void setDomain(java.lang.String domain)
Set the authentication domain. The domain is a label that the factory uses to group servers and credentials. When connecting through a factory, the factory user must present a credential object with a domain that matches the domain of at least one server managed by the factory.

Empty string and null are considered to be equivalent domains. The default value is empty string.

Parameters:
domain - the authentication domain

getDomain

public java.lang.String getDomain()
Get the authentication domain.

Returns:
the authentication domain
See Also:
setDomain(java.lang.String)

setServerComponentURI

public void setServerComponentURI(java.lang.String serverComponentURI)
Set the ServerComponent URI for this server. This value will be non-null only if the configuration for this server was loaded from a SAS Metadata Server.

Parameters:
serverComponentURI - the ServerComponent URI for this server.

getServerComponentURI

public java.lang.String getServerComponentURI()
Get the ServerComponent URI for this server. This value will be non-null only if the configuration for this server was loaded from a SAS Metadata Server.

Returns:
the ServerComponent URI for this server.

getAuthService

public java.lang.String getAuthService()
Get the authentication service to use when connecting to this server. The default value is AUTH_SERVICE_NONE unless a subclass provides a different default.

Returns:
the authentication service to use when connecting to this server
See Also:
AUTH_SERVICE_HOST, AUTH_SERVICE_METADATA, AUTH_SERVICE_PROMPT, AUTH_SERVICE_NONE

setAuthService

public void setAuthService(java.lang.String authService)
Set the authentication service to use when connecting to this server. The default value is AUTH_SERVICE_NONE unless a subclass provides a different default.

Parameters:
authService - the authentication service to use when connecting to this server.
See Also:
AUTH_SERVICE_HOST, AUTH_SERVICE_METADATA, AUTH_SERVICE_PROMPT, AUTH_SERVICE_NONE

getSecurityPackage

public java.lang.String getSecurityPackage()
Get the security package to use when connecting to this server. The value for this attribute is significant only if the value for authService is set to AUTH_SERVICE_HOST. The default value is null which indicates that user name/password authentication will be used.

Returns:
the security package to use when connecting to this server.
See Also:
SECURITY_PACKAGE_KERBEROS, SECURITY_PACKAGE_NEGOTIATE, SECURITY_PACKAGE_NTLM

getNormalizedSecurityPackage

public java.lang.String getNormalizedSecurityPackage()
Get the normalized security package to use when connecting to this server. The normalized value is the result of calling normalizeSecurityPackage() with the original value. The value for this attribute is significant only if the value for authService is set to AUTH_SERVICE_HOST. The default value is null which indicates that user name/password authentication will be used.

Returns:
the security package to use when connecting to this server.
See Also:
SECURITY_PACKAGE_KERBEROS, SECURITY_PACKAGE_NEGOTIATE, SECURITY_PACKAGE_NTLM

setSecurityPackage

public void setSecurityPackage(java.lang.String securityPackage)
Set the security package to use when connecting to this server. The value for this attribute is significant only if the value for authService is set to AUTH_SERVICE_HOST. The default value is null which indicates that user name/password authentication will be used.

Parameters:
securityPackage - the security package to use when connecting to this server.
See Also:
SECURITY_PACKAGE_KERBEROS, SECURITY_PACKAGE_NEGOTIATE, SECURITY_PACKAGE_NTLM

getSecurityPackageList

public java.lang.String getSecurityPackageList()
Get the list of security packages to use when connecting to this server. The value for this attribute is significant only if the value for authService is set to AUTH_SERVICE_HOST and the value for securityPackage is SECURITY_PACKAGE_NEGOTIATE. The default value is Kerberos,NTLM.

Returns:
the list of security packages to use when connecting to this server.
See Also:
SECURITY_PACKAGE_KERBEROS, SECURITY_PACKAGE_NEGOTIATE, SECURITY_PACKAGE_NTLM

getNormalizedSecurityPackageList

public java.lang.String getNormalizedSecurityPackageList()
Get the normalized list of security packages to use when connecting to this server. The normalized value is the result of calling normalizeSecurityPackageList() with the original value. The value for this attribute is significant only if the value for authService is set to AUTH_SERVICE_HOST and the value for securityPackage is SECURITY_PACKAGE_NEGOTIATE. The default value is Kerberos,NTLM.

Returns:
the list of security packages to use when connecting to this server.
See Also:
SECURITY_PACKAGE_KERBEROS, SECURITY_PACKAGE_NEGOTIATE, SECURITY_PACKAGE_NTLM

setSecurityPackageList

public void setSecurityPackageList(java.lang.String securityPackageList)
Set the list of security packages to use when connecting to this server. The value for this attribute is significant only if the value for authService is set to AUTH_SERVICE_HOST and the value for securityPackage is SECURITY_PACKAGE_NEGOTIATE. The default value is Kerberos,NTLM.

Parameters:
securityPackageList - the list of security packages to use when connecting to this server.
See Also:
SECURITY_PACKAGE_KERBEROS, SECURITY_PACKAGE_NEGOTIATE, SECURITY_PACKAGE_NTLM

getSPN

public java.lang.String getSPN()
Get the service principal name to use when connecting to this server. The value for this attribute is significant only if the value for authService is set to AUTH_SERVICE_HOST and the value for securityPackage is set to SECURITY_PACKAGE_NEGOTIATE or SECURITY_PACKAGE_KERBEROS

Returns:
the service principal name to use when connecting to this server.

setSPN

public void setSPN(java.lang.String spn)
Set the service principal name to use when connecting to this server. The value for this attribute is significant only if the value for authService is set to AUTH_SERVICE_HOST and the value for securityPackage is set to SECURITY_PACKAGE_NEGOTIATE or SECURITY_PACKAGE_KERBEROS

Parameters:
spn - the service principal name to use when connecting to this server.

fromURI

public static Server fromURI(SASURI uri)
Convert a URI into a Server.

Parameters:
uri - the URI to convert

equals

public boolean equals(java.lang.Object that)
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

clone

public java.lang.Object clone()
Overrides:
clone in class java.lang.Object

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

normalizeSecurityPackage

public static java.lang.String normalizeSecurityPackage(java.lang.String securityPackage)
Normalize a security package name. Specifically, if the specified name is equal to a known security pacakge name in a case-insensitive comparison, then the known security package is returned. Otherwise, the specified name is returned unchanged.

Parameters:
securityPackage - the security package name to normalize
Returns:
the normalized security package name

normalizeSecurityPackageList

public static java.lang.String normalizeSecurityPackageList(java.lang.String securityPackageList)
Normalize a security package list. Specifically, whitespace around commas is removed, and each security package name in the list is normalized separately using normalizeSecurityPackage().

Parameters:
securityPackageList - the security package list to normalized
Returns:
the normalized security package list

***  This class provides Binary Compatibility only, not Source Compatibility  ***




Copyright © 2009 SAS Institute Inc. All Rights Reserved.