*** This class provides Binary Compatibility only, not Source Compatibility ***
Class Server
- All Implemented Interfaces:
Serializable,Cloneable
- Direct Known Subclasses:
TCPIPServer
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringAuthenticate against the host on which the server is running.static final StringAuthenticate against a SAS Metadata Server.static final StringNo authentication required.static final StringPrompt for a credential that will be authenticated against the host on which the server is running.static final StringThe class Id of the SAS ABM Server (current major version).static final StringThe class ID of the SAS ABM Server (version 1.0).static final StringThe class ID of the SAS Object Spawner (current major version).static final StringThe class ID of the SAS Object Spawner (version 1.0).static final StringThe class ID of the SAS Object Spawner (version 1.1).static final StringThe class ID of the Pooled SAS toplevel class (current major version).static final StringThe class ID of the Pooled SAS toplevel class (version 1.0).static final StringThe class ID of the SAS toplevel class (current major version).static final StringThe class ID of the SAS toplevel class (version 1.0).static final StringThe class ID of the SAS toplevel class (version 1.1).static final StringThe class ID of the SAS toplevel class (version 1.2).static final StringThe class ID of the SASGMS toplevel class (current major version).static final StringThe class ID of the SASGMS toplevel class (version 1.0).static final StringThe class ID of the SASMDX toplevel class (current major version).static final StringThe class ID of the SASMDX toplevel class (version 1.0).static final StringThe class ID of the SASMQX toplevel class (current major version).static final StringThe class ID of the SASMQX toplevel class (version 1.0).static final StringThe class ID of the SASOMI toplevel class (current major version).static final StringThe class ID of the SASOMI toplevel class (version 1.0).static final StringThe class ID of the SASOMI toplevel class (version 1.1).static final StringThe class ID of the SASOMI toplevel class (version 2.0).static final StringThe class ID of the SASSTP toplevel class (current major version).static final StringThe class ID of the SASSTP toplevel class (version 1.0).static final StringThe class ID of the SAS Table Server (current major version).static final StringThe class ID of the SAS Table Server (version 1.0).static final StringA class ID that does not designate any class.static final StringA string used to identify the SAS Object Spawner in old metadata.static final StringAuthentication using Kerberos.static final StringThe default value for securityPackageList.static final StringAuthenticate using a security package supported by both the client and server.static final StringAuthenticate using NTLM. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionObjectclone()booleanequals(Object that) static ServerConvert a URI into a Server.StringGet the authentication service to use when connecting to this server.StringGet the class ID.StringGet the authentication domain.intGet the maximum number of clients.StringGet the normalized class ID.StringGet the normalized security package to use when connecting to this server.StringGet the normalized list of security packages to use when connecting to this server.StringgetOption(String name) Get the value of the named option.intGet the maximum number of reactivations.StringGet the security package to use when connecting to this server.StringGet the list of security packages to use when connecting to this server.StringGet the ServerComponent URI for this server.intGet the number of minutes before an idle connection is destroyed.StringgetSPN()Get the service principal name to use when connecting to this server.inthashCode()static StringnormalizeSecurityPackage(String securityPackage) Normalize a security package name.static StringnormalizeSecurityPackageList(String securityPackageList) Normalize a security package list.StringremoveOption(String name) Remove a name option and its value.voidsetAuthService(String authService) Set the authentication service to use when connecting to this server.voidsetClassID(String classID) Set the class ID.voidsetDomain(String domain) Set the authentication domain.voidsetMaxClients(int maxClients) Set the maximum number of clients.StringsetOption(String name, String value) Set the value of the named option.voidsetReactivationLimit(int reactivationLimit) Set the maximum number of reactivations.voidsetSecurityPackage(String securityPackage) Set the security package to use when connecting to this server.voidsetSecurityPackageList(String securityPackageList) Set the list of security packages to use when connecting to this server.voidsetServerComponentURI(String serverComponentURI) Set the ServerComponent URI for this server.voidsetShutdownAfterMinutes(int shutdownAfterMinutes) Set the number of minutes before an idle connection is destroyed.voidsetSPN(String spn) Set the service principal name to use when connecting to this server.StringtoString()Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Field Details
-
CLSID_SAS_1_0
public static final String CLSID_SAS_1_0The class ID of the SAS toplevel class (version 1.0).- See Also:
-
CLSID_SAS_1_1
public static final String CLSID_SAS_1_1The class ID of the SAS toplevel class (version 1.1).- See Also:
-
CLSID_SAS_1_2
public static final String CLSID_SAS_1_2The class ID of the SAS toplevel class (version 1.2).- See Also:
-
CLSID_SAS
public static final String CLSID_SASThe class ID of the SAS toplevel class (current major version).- See Also:
-
CLSID_POOLED_SAS_1_0
public static final String CLSID_POOLED_SAS_1_0The class ID of the Pooled SAS toplevel class (version 1.0).- See Also:
-
CLSID_POOLED_SAS
public static final String CLSID_POOLED_SASThe class ID of the Pooled SAS toplevel class (current major version).- See Also:
-
CLSID_SASGMS_1_0
public static final String CLSID_SASGMS_1_0The class ID of the SASGMS toplevel class (version 1.0).- See Also:
-
CLSID_SASGMS
public static final String CLSID_SASGMSThe class ID of the SASGMS toplevel class (current major version).- See Also:
-
CLSID_SASMDX_1_0
public static final String CLSID_SASMDX_1_0The class ID of the SASMDX toplevel class (version 1.0).- See Also:
-
CLSID_SASMDX
public static final String CLSID_SASMDXThe class ID of the SASMDX toplevel class (current major version).- See Also:
-
CLSID_SASMQX_1_0
public static final String CLSID_SASMQX_1_0The class ID of the SASMQX toplevel class (version 1.0).- See Also:
-
CLSID_SASMQX
public static final String CLSID_SASMQXThe class ID of the SASMQX toplevel class (current major version).- See Also:
-
CLSID_SASOMI_1_0
public static final String CLSID_SASOMI_1_0The class ID of the SASOMI toplevel class (version 1.0).- See Also:
-
CLSID_SASOMI_1_1
public static final String CLSID_SASOMI_1_1The class ID of the SASOMI toplevel class (version 1.1).- See Also:
-
CLSID_SASOMI_2_0
public static final String CLSID_SASOMI_2_0The class ID of the SASOMI toplevel class (version 2.0).- See Also:
-
CLSID_SASOMI
public static final String CLSID_SASOMIThe class ID of the SASOMI toplevel class (current major version).- See Also:
-
CLSID_SASSTP_1_0
public static final String CLSID_SASSTP_1_0The class ID of the SASSTP toplevel class (version 1.0).- See Also:
-
CLSID_SASSTP
public static final String CLSID_SASSTPThe class ID of the SASSTP toplevel class (current major version).- See Also:
-
CLSID_OBJSPAWN_1_0
public static final String CLSID_OBJSPAWN_1_0The class ID of the SAS Object Spawner (version 1.0).- See Also:
-
CLSID_OBJSPAWN_1_1
public static final String CLSID_OBJSPAWN_1_1The class ID of the SAS Object Spawner (version 1.1).- See Also:
-
CLSID_OBJSPAWN
public static final String CLSID_OBJSPAWNThe class ID of the SAS Object Spawner (current major version).- See Also:
-
CLSID_SASTableServer_1_0
public static final String CLSID_SASTableServer_1_0The class ID of the SAS Table Server (version 1.0).- See Also:
-
CLSID_SASTableServer
public static final String CLSID_SASTableServerThe class ID of the SAS Table Server (current major version).- See Also:
-
CLSID_ABM_1_0
public static final String CLSID_ABM_1_0The class ID of the SAS ABM Server (version 1.0).- See Also:
-
CLSID_ABM
public static final String CLSID_ABMThe class Id of the SAS ABM Server (current major version).- See Also:
-
CLSID_UNDESIGNATED
public static final String CLSID_UNDESIGNATEDA class ID that does not designate any class.- See Also:
-
OBJSPAWN_ID
public static final String OBJSPAWN_IDA 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:
-
AUTH_SERVICE_HOST
public static final String AUTH_SERVICE_HOSTAuthenticate 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:
-
AUTH_SERVICE_METADATA
public static final String AUTH_SERVICE_METADATAAuthenticate 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:
-
AUTH_SERVICE_PROMPT
public static final String AUTH_SERVICE_PROMPTPrompt 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:
-
AUTH_SERVICE_NONE
public static final String AUTH_SERVICE_NONENo authentication required. The connection factory will not send a credential to the server for authentication.- See Also:
-
SECURITY_PACKAGE_KERBEROS
public static final String SECURITY_PACKAGE_KERBEROSAuthentication using Kerberos.- See Also:
-
SECURITY_PACKAGE_NTLM
public static final String SECURITY_PACKAGE_NTLMAuthenticate using NTLM.- See Also:
-
SECURITY_PACKAGE_NEGOTIATE
public static final String SECURITY_PACKAGE_NEGOTIATEAuthenticate using a security package supported by both the client and server.- See Also:
-
SECURITY_PACKAGE_LIST_DEFAULT
public static final String SECURITY_PACKAGE_LIST_DEFAULTThe default value for securityPackageList.- See Also:
-
-
Constructor Details
-
Server
public Server(String classID) Construct an object describing an IOM server.- Parameters:
classID- the class ID- See Also:
-
-
Method Details
-
setClassID
public void setClassID(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 namedCLSID_*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:
IllegalArgumentException- if this attribute is set tonull- See Also:
-
getClassID
public String getClassID()Get the class ID.- Returns:
- the class ID
- See Also:
-
getNormalizedClassID
public String getNormalizedClassID()Get the normalized class ID. A normalized class ID is all lowercase.- Returns:
- the normalized class ID
- See Also:
-
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:
IllegalArgumentException- if this attribute is set to a value less than1
-
getMaxClients
public int getMaxClients()Get the maximum number of clients.- Returns:
- the maximum number of clients
- See Also:
-
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 is0.- Parameters:
reactivationLimit- the maximum number of reactivations- Throws:
IllegalArgumentException- if this attribute is set to a value less than0
-
getReactivationLimit
public int getReactivationLimit()Get the maximum number of reactivations.- Returns:
- the maximum number of reactivations
- See Also:
-
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 theminSizeandminAvailattributes 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.-1means idle connections will be kept alive until connection factory shutdown.0means 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:
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:
-
setDomain
public void setDomain(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
nullare considered to be equivalent domains. The default value is empty string.- Parameters:
domain- the authentication domain
-
getDomain
public String getDomain()Get the authentication domain.- Returns:
- the authentication domain
- See Also:
-
setServerComponentURI
public void setServerComponentURI(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 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 String getAuthService()Get the authentication service to use when connecting to this server. The default value isAUTH_SERVICE_NONEunless a subclass provides a different default.- Returns:
- the authentication service to use when connecting to this server
- See Also:
-
setAuthService
public void setAuthService(String authService) Set the authentication service to use when connecting to this server. The default value isAUTH_SERVICE_NONEunless a subclass provides a different default.- Parameters:
authService- the authentication service to use when connecting to this server.- See Also:
-
getSecurityPackage
public String getSecurityPackage()Get the security package to use when connecting to this server. The value for this attribute is significant only if the value forauthServiceis set toAUTH_SERVICE_HOST. The default value isnullwhich indicates that user name/password authentication will be used.- Returns:
- the security package to use when connecting to this server.
- See Also:
-
getNormalizedSecurityPackage
public String getNormalizedSecurityPackage()Get the normalized security package to use when connecting to this server. The normalized value is the result of callingnormalizeSecurityPackage()with the original value. The value for this attribute is significant only if the value forauthServiceis set toAUTH_SERVICE_HOST. The default value isnullwhich indicates that user name/password authentication will be used.- Returns:
- the security package to use when connecting to this server.
- See Also:
-
setSecurityPackage
public void setSecurityPackage(String securityPackage) Set the security package to use when connecting to this server. The value for this attribute is significant only if the value forauthServiceis set toAUTH_SERVICE_HOST. The default value isnullwhich indicates that user name/password authentication will be used.- Parameters:
securityPackage- the security package to use when connecting to this server.- See Also:
-
getSecurityPackageList
public 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 forauthServiceis set toAUTH_SERVICE_HOSTand the value forsecurityPackageisSECURITY_PACKAGE_NEGOTIATE. The default value isKerberos,NTLM.- Returns:
- the list of security packages to use when connecting to this server.
- See Also:
-
getNormalizedSecurityPackageList
public String getNormalizedSecurityPackageList()Get the normalized list of security packages to use when connecting to this server. The normalized value is the result of callingnormalizeSecurityPackageList()with the original value. The value for this attribute is significant only if the value forauthServiceis set toAUTH_SERVICE_HOSTand the value forsecurityPackageisSECURITY_PACKAGE_NEGOTIATE. The default value isKerberos,NTLM.- Returns:
- the list of security packages to use when connecting to this server.
- See Also:
-
setSecurityPackageList
public void setSecurityPackageList(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 forauthServiceis set toAUTH_SERVICE_HOSTand the value forsecurityPackageisSECURITY_PACKAGE_NEGOTIATE. The default value isKerberos,NTLM.- Parameters:
securityPackageList- the list of security packages to use when connecting to this server.- See Also:
-
getSPN
public 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 forauthServiceis set toAUTH_SERVICE_HOSTand the value forsecurityPackageis set toSECURITY_PACKAGE_NEGOTIATEorSECURITY_PACKAGE_KERBEROS- Returns:
- the service principal name to use when connecting to this server.
-
setSPN
public void setSPN(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 forauthServiceis set toAUTH_SERVICE_HOSTand the value forsecurityPackageis set toSECURITY_PACKAGE_NEGOTIATEorSECURITY_PACKAGE_KERBEROS- Parameters:
spn- the service principal name to use when connecting to this server.
-
getOption
public String getOption(String name) Get the value of the named option.- Parameters:
name- the option name- Returns:
- the value of the named option
-
setOption
public String setOption(String name, String value) Set the value of the named option.- Parameters:
name- the option namevalue- the option value- Returns:
- the previous option value
-
removeOption
public String removeOption(String name) Remove a name option and its value.- Parameters:
name- the option name- Returns:
- the previous value
-
fromURI
Convert a URI into a Server.- Parameters:
uri- the URI to convert
-
equals
public boolean equals(Object that) - Overrides:
equalsin classObject
-
hashCode
public int hashCode()- Overrides:
hashCodein classObject
-
clone
public Object clone()- Overrides:
clonein classObject
-
toString
public String toString()- Overrides:
toStringin classObject
-
normalizeSecurityPackage
public static String normalizeSecurityPackage(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 String normalizeSecurityPackageList(String securityPackageList) Normalize a security package list. Specifically, whitespace around commas is removed, and each security package name in the list is normalized separately usingnormalizeSecurityPackage().- Parameters:
securityPackageList- the security package list to normalized- Returns:
- the normalized security package list
-