com.esri.arcgis.server
Class ServerObjectConfiguration

java.lang.Object
  extended by com.esri.arcgis.server.ServerObjectConfiguration
All Implemented Interfaces:
com.esri.arcgis.interop.RemoteObjRef, IServerObjectConfiguration, IServerObjectConfiguration2, IServerObjectConfiguration3, Serializable

public class ServerObjectConfiguration
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IServerObjectConfiguration, IServerObjectConfiguration2, IServerObjectConfiguration3

The ServerObjectConfiguration object which defines the properties and behavior for server objects running in the GIS server.

Remarks

The GIS Server manages a set of server objects running across one or more host (container) machines. How those server objects are configured and run is defined by a set of ServerObjectConfigurations . ServerObjectConfigurations can be added, removed and modified by users or developers who are members of the agsadmin users group, and therfore have administrator priviliges on the GIS Server.

The administrator level properties of a ServerOjectConiguration are:

A read-only subset of properties of a ServerObjectConfiguration are available to non administators via the ServerConnectionInfo object. These non-administrator level properties are:

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

See Also:
ServerObjectManager, ServerObjectType, IAGSServerConnectionAdmin, AGSServerConnectionName, IEnumServerObjectType, IEnumServerDirectory, AGSServerConnection, IServerConnection, ServerObjectTypeInfo, IEnumServerObjectTypeInfo, IAGSServerObject, ServerDirectoryInfo, ServerObjectConfiguration, ServerContext, ServerObjectConfigurationStatus, IAGSServerObjectName, ServerConnection, IAGSServerConnectionName, IAGSEnumServerObjectName, ServerObject, IServerObjectConfigurationInfo, IServerObjectAdmin, AGSServerConnectionFactory, IAGSServerConnectionFactory, IEnumServerObjectConfigurationInfo, IGISServerConnection, IAGSServerConnection, IServerContext, ServerDirectory, ServerObjectConfigurationInfo, IEnumServerMachine, ServerMachine, IServerObjectConfiguration, IServerObjectManager, IServerObjectTypeInfo, IServerMachine, IServerObject, IServerObjectType, GISServerConnection, AGSServerObjectName, ServerObjectAdmin, IEnumServerObjectConfiguration, Serialized Form

Constructor Summary
ServerObjectConfiguration(Object obj)
          Construct a ServerObjectConfiguration using a reference to such an object returned from ArcGIS Engine or Server.
 
Method Summary
 void deserialize(String str)
          Deserializes the server object configuration from a string.
 boolean equals(Object o)
          Compare this object with another
 int getCleanupTimeout()
          Maximum time (in seconds) that a SOC process will remain active to allow its no longer used server object threads to shut down gracefully before terminating them.
 String getDescription()
          Description of the server object configuration.
 IPropertySet getExtensionInfo(String name)
          The extension-dependent info for the server object configuration.
 IPropertySet getExtensionProperties(String name)
          The extension-dependent properties for the server object configuration.
 int getIdleTimeout()
          Maximum time (in seconds) an instance of a server object for this server object configuration can remain idle.
 IPropertySet getInfo()
          Auxiliary Information for the server objects created by the server object configuration – passive properties only.
 int getInstancesPerContainer()
          Number of instances in a single low isolation container.
 int getIsolationLevel()
          The isolation level of the server objects defined by the server object configuration.
 int getMaxInstances()
          The maximum number of server object instances for a server object configuration.
 int getMinInstances()
          The minimum number of server object instances for a server object configuration.
 String getName()
          Name of the server object configuration.
 IPropertySet getProperties()
          Initialization parameters and properties for the server objects created by the server object configuration.
 IPropertySet getRecycleProperties()
          The recycling properties for the server object configuration.
 int getStartupTimeout()
          Maximum time (in seconds) that a SOC process will wait for an instance of a server object to start.
 int getStartupType()
          The startup type for this server object configuration.
 String getTypeName()
          Type of the server object configuration (MapServer or GeocodeServer).
 int getUsageTimeout()
          Maximum time (in seconds) a client can hold onto an instance of a server object for this server object configuration before releasing it back to the server.
 int getWaitTimeout()
          Maximum time (in seconds) a client will wait for an instance of a server object for this server object configuration using the CreateServerContext method on IServerObjectManager before timing out.
 int hashCode()
          the hashcode for this object
 boolean isExtensionEnabled(String name)
          Indicates whether the state of the named extension is Enabled (true) or Disabled (false).
 boolean isPooled()
          Indicates whether the server objects defined by this configuration are pooled.
 String serialize()
          Serializes the server object configuration into a string.
 void setCleanupTimeout(int pVal)
          Maximum time (in seconds) that a SOC process will remain active to allow its no longer used server object threads to shut down gracefully before terminating them.
 void setDescription(String desc)
          Description of the server object configuration.
 void setExtensionEnabled(String name, boolean pVal)
          Indicates whether the state of the named extension is Enabled (true) or Disabled (false).
 void setExtensionInfoByRef(String name, IPropertySet ppExtProperties)
          The extension-dependent info for the server object configuration.
 void setExtensionPropertiesByRef(String name, IPropertySet ppExtProperties)
          The extension-dependent properties for the server object configuration.
 void setIdleTimeout(int pVal)
          Maximum time (in seconds) an instance of a server object for this server object configuration can remain idle.
 void setInfoByRef(IPropertySet props)
          Auxiliary Information for the server objects created by the server object configuration – passive properties only.
 void setInstancesPerContainer(int pVal)
          Number of instances in a single low isolation container.
 void setIsolationLevel(int isoLevel)
          The isolation level of the server objects defined by the server object configuration.
 void setIsPooled(boolean isPooled)
          Indicates whether the server objects defined by this configuration are pooled.
 void setMaxInstances(int instances)
          The maximum number of server object instances for a server object configuration.
 void setMinInstances(int instances)
          The minimum number of server object instances for a server object configuration.
 void setName(String name)
          Name of the server object configuration.
 void setPropertiesByRef(IPropertySet props)
          Initialization parameters and properties for the server objects created by the server object configuration.
 void setRecyclePropertiesByRef(IPropertySet props)
          The recycling properties for the server object configuration.
 void setStartupTimeout(int pVal)
          Maximum time (in seconds) that a SOC process will wait for an instance of a server object to start.
 void setStartupType(int type)
          The startup type for this server object configuration.
 void setTypeName(String typeName)
          Type of the server object configuration (MapServer or GeocodeServer).
 void setUsageTimeout(int pVal)
          Maximum time (in seconds) a client can hold onto an instance of a server object for this server object configuration before releasing it back to the server.
 void setWaitTimeout(int pVal)
          Maximum time (in seconds) a client will wait for an instance of a server object for this server object configuration using the CreateServerContext method on IServerObjectManager before timing out.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.interop.RemoteObjRef
getJintegraDispatch, release
 

Constructor Detail

ServerObjectConfiguration

public ServerObjectConfiguration(Object obj)
                          throws IOException
Construct a ServerObjectConfiguration using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to ServerObjectConfiguration.
Casting to this class from the return value of a method will not work, as this class represents an abstract class in ArcObjects.
*
ServerObjectConfiguration o = (ServerObjectConfiguration)obj; // will not work

ServerObjectConfiguration o = new ServerObjectConfiguration(obj); // Use this constructor instead
* @param obj an object returned from ArcGIS Engine or Server

Throws:
IOException - if there are interop problems ServerObjectConfiguration theServerObjectConfiguration = (ServerObjectConfiguration) obj;
Method Detail

equals

public boolean equals(Object o)
Compare this object with another

Overrides:
equals in class Object

hashCode

public int hashCode()
the hashcode for this object

Overrides:
hashCode in class Object

getName

public String getName()
               throws IOException,
                      AutomationException
Name of the server object configuration.

Remarks

The Name property in combination with the TypeName property is used to identify a server object configuration in methods such as GetConfiguration, UpdateConfiguration, StartConfiguration, etc.

Name is case-sensitive, and can have a maximum of 120 characters. Names can contain only the following characters:

A - Z
a - z
0 - 9
_ (undescore)
- (minus)

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getName in interface IServerObjectConfiguration
Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setName

public void setName(String name)
             throws IOException,
                    AutomationException
Name of the server object configuration.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setName in interface IServerObjectConfiguration
Parameters:
name - The name (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTypeName

public String getTypeName()
                   throws IOException,
                          AutomationException
Type of the server object configuration (MapServer or GeocodeServer).

Remarks

The TypeName property indicates the type of server object that this configuration creates and runs. Examples are MapServer and GeocodeServer.

The TypeName property in combination with the Name property is used to identify a server object configuration in methods such as GetConfiguration, UpdateConfiguration, StartConfiguration , etc.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getTypeName in interface IServerObjectConfiguration
Returns:
The typeName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTypeName

public void setTypeName(String typeName)
                 throws IOException,
                        AutomationException
Type of the server object configuration (MapServer or GeocodeServer).

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setTypeName in interface IServerObjectConfiguration
Parameters:
typeName - The typeName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDescription

public String getDescription()
                      throws IOException,
                             AutomationException
Description of the server object configuration.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getDescription in interface IServerObjectConfiguration
Returns:
The desc
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDescription

public void setDescription(String desc)
                    throws IOException,
                           AutomationException
Description of the server object configuration.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setDescription in interface IServerObjectConfiguration
Parameters:
desc - The desc (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getProperties

public IPropertySet getProperties()
                           throws IOException,
                                  AutomationException
Initialization parameters and properties for the server objects created by the server object configuration.

Remarks

Server objects that are defined by server object configurations have a collection of initialization parameters and properties associated with them. An example of an initialization parameter is the map document associated with a MapServer object. An example of a property is the batch geocode size for a GeocodeServer object.

You can get these properties and change them using the Properties property on the server object configuration. The Properties property returns an IPropertySet. Use GetProperty, SetProperty on IPropertySet to get and set these properties. If you change these properties, you must call UpdateConfiguration to change them in the server object configuration.

You also use the Properties property to get a reference on the PropertySet for a new server object configuration to set its properties before adding it to the server by calling AddConfiguration.

The following are the properties for a MapServer object:

FilePath - the path to the map document that the MapServer will serve. This is a required property.

Example: \\machine\data\\usa.mxd

OutputDir - the location to which the MapServer will write its output. The OutputDir is typically a server directory. This is an optional property.

Example: \\machine\serveroutput

VirtualOutputDir - the virtual directory that corresponds to the OutputDir location. This is a required property if the OutputDir is specified.

Example: http://webserver/serveroutput

MaxRecordCount - the maximum number of records returned by the QueryFeatureData, Find and Identify methods on the MapServer. This is an optional property.

Example: 500

MaxBufferCount - the maximum number of features per layer that can be buffered at draw time when using the ExportMapImage on MapServer. This is an optional property.

Example: 100

MaxImageWidth- the maximum width of images (in pixels) that can be produced by ExportMapImage. This is an optional property.

Example: 2048

MaxImageHeight - the maximum height of images (in pixels) that can be produced by ExportMapImage. This is an optional property.

Example: 2048

The following are the properties for a GeocodeServer object:

Locator - the name of the locator that the GeocodeServer will serve. This is a required property.

Example: California

LocatorWorkspacePath - If the locator is a .loc or .mxs file, this is the path to the locator. This is a required property for locator files.

Example: \\machine\data\locators\

LocatorWorkspaceConnectionString - If the locator is an SDE locator, then this is the SDE connection string. This is a required property for SDE locators.

Example: SERVER=machine;INSTANCE=5151;DATABASE=gdb;USER=gdb;PASSWORD=gdb;VERSION=sde.DEFAULT

SuggestedBatchSize - the number of records that the GeocodeServer object will process at one time when performing batch geocoding.

Example: 500

MaxBatchSize - the maximum number of records that can be input into the GeocodeAddresses method. This is an optional property.

Example: 10000

MaxResultSize - the maximum number of candidates resturned by the FindAddressCandidates method. This is an optional property.

Example: 500

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getProperties in interface IServerObjectConfiguration
Returns:
A reference to a com.esri.arcgis.system.IPropertySet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IPropertySet.getCount(), com.esri.arcgis.system.propertySet, IPropertySet.removeProperty(String), IPropertySet, IPropertySet.isEqual(com.esri.arcgis.system.IPropertySet)

setPropertiesByRef

public void setPropertiesByRef(IPropertySet props)
                        throws IOException,
                               AutomationException
Initialization parameters and properties for the server objects created by the server object configuration.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setPropertiesByRef in interface IServerObjectConfiguration
Parameters:
props - A reference to a com.esri.arcgis.system.IPropertySet (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRecycleProperties

public IPropertySet getRecycleProperties()
                                  throws IOException,
                                         AutomationException
The recycling properties for the server object configuration.

Remarks

Pooled server objects are typically shared between multiple applications and users of those applications. Through reuse, a number of things can happen to a server object to make them unavailable for use by applications. For example, an application may incorrectly modify a server objects state, or an application may incorrectly hold a reference to a server object, making it unavailable to other applications or sessions. In some cases, server object may become corrupted and unusable.

Recycling allows for server objects that have become un-usable to be destroyed and replaced with fresh server objects, and to reclaim resources taken up by stale server objects. This process allows you to keep the pool of server objects fresh, and cycle out stale or unusable server objects.

You can get the recycling properties and change them using the RecyclingProperties property on the server object configuration. The RecyclingProperties property returns an IPropertySet. Use GetProperty, SetProperty on IPropertySet to get and set these properties. If you change these properties, you must call UpdateConfiguration to change them in the server object configuration.

You also use the RecyclingProperties property to get a reference on the PropertySet for a new server object configuration to set its properties before adding it to the server by calling AddConfiguration.

The properties associated with recylcing are:

StartTime which is time at which the recycling interval is initialized. The time specified is in 24 notation. For example, to set the start time at 2pm, the StartTime property would be 14:00.

Interval which defines the the time between recycling operations in seconds. For example, to recycle the configuration every hour, this property would be set to 3600.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getRecycleProperties in interface IServerObjectConfiguration
Returns:
A reference to a com.esri.arcgis.system.IPropertySet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IPropertySet

setRecyclePropertiesByRef

public void setRecyclePropertiesByRef(IPropertySet props)
                               throws IOException,
                                      AutomationException
The recycling properties for the server object configuration.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setRecyclePropertiesByRef in interface IServerObjectConfiguration
Parameters:
props - A reference to a com.esri.arcgis.system.IPropertySet (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMinInstances

public int getMinInstances()
                    throws IOException,
                           AutomationException
The minimum number of server object instances for a server object configuration.

Remarks

The MinInstances property represents the number of server object instances that are pre-loaded when the server object configuration is started. The GIS server will ensure that the minimum number of instances are always running within the server for a given configuration.

When there are more simultaneous requests that server object instances running, additional server object instances will be started until MaxInstances is reach.

The MinInstances property must be less than the MaxInstances property.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getMinInstances in interface IServerObjectConfiguration
Returns:
The instances
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMinInstances

public void setMinInstances(int instances)
                     throws IOException,
                            AutomationException
The minimum number of server object instances for a server object configuration.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setMinInstances in interface IServerObjectConfiguration
Parameters:
instances - The instances (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMaxInstances

public int getMaxInstances()
                    throws IOException,
                           AutomationException
The maximum number of server object instances for a server object configuration.

Remarks

The MaxInstances property indicates the maximum number of server objects that can be running and handle requests at any one time. if the maximum number of server objects are running and busy, additional requests will be queued until a server object becomes free.

For a pooled server object, the MaxInstances represents the maximum simultaneus requests that can be processed by the server object configuration. For a non-pooled server object, the MaxInstances represents the maximum number of simlutaneus application users of that particular server object configuration.

The MaxInstances property must be greater than 0 and must be greater than the MinInstances property.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getMaxInstances in interface IServerObjectConfiguration
Returns:
The instances
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMaxInstances

public void setMaxInstances(int instances)
                     throws IOException,
                            AutomationException
The maximum number of server object instances for a server object configuration.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setMaxInstances in interface IServerObjectConfiguration
Parameters:
instances - The instances (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isPooled

public boolean isPooled()
                 throws IOException,
                        AutomationException
Indicates whether the server objects defined by this configuration are pooled.

Remarks

Server objects can be either pooled or non-pooled. Pooled server objects can be shared accross multiple sessions and applications and are held onto by an application for the duration of a single request. Pooled server objects are meant for applications that make stateless use of those objects.

Non-pooled server objects are dedicated to a single application session and are held onto for the duration of an application session. Non-pooled server objects are not shared between application sessions, and are meant for applications that make stateful use of those objects.

Use the IsPooled property to indicate if the server objects created by this server object configuration are pooled or non-pooled. When StartConfguration is called on a server object configuration whose IsPooled property is true a set of server objects will be pre-loaded based on the MinInstances property of the server object configuration.

When StartConfiguration is called on a server object configuration whose IsPooled property is false, no server objects are pre-loaded. Server objects are loaded and initialized when an application gets one from the server using CreateServerContext.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
isPooled in interface IServerObjectConfiguration
Returns:
The isPooled
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setIsPooled

public void setIsPooled(boolean isPooled)
                 throws IOException,
                        AutomationException
Indicates whether the server objects defined by this configuration are pooled.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setIsPooled in interface IServerObjectConfiguration
Parameters:
isPooled - The isPooled (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getIsolationLevel

public int getIsolationLevel()
                      throws IOException,
                             AutomationException
The isolation level of the server objects defined by the server object configuration.

Remarks

Server objects can have either high isolation (esriServerIsolationLevelHigh) or low isolation (esriIsolationLevelLow ). Each instance of a server object with high isolation run in s a dedicated process on the server that it does not share with other server objects. Instances of server objects with low isolation may share the same process with other server object instances of the same configuration.

Use the IsolationLevel property to get the server object isolation, or set it for a new configuration or to update an existing configuration.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getIsolationLevel in interface IServerObjectConfiguration
Returns:
A com.esri.arcgis.server.esriServerIsolationLevel constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setIsolationLevel

public void setIsolationLevel(int isoLevel)
                       throws IOException,
                              AutomationException
The isolation level of the server objects defined by the server object configuration.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setIsolationLevel in interface IServerObjectConfiguration
Parameters:
isoLevel - A com.esri.arcgis.server.esriServerIsolationLevel constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getStartupType

public int getStartupType()
                   throws IOException,
                          AutomationException
The startup type for this server object configuration. Startup type describes whether the server object configuration is started when the server object manager service is started for the GIS server.

Remarks

The StartupType indicates if the configuration is automatically started (esriSTAutomatic) when the server object manager windows or UNIX service is started. Server object configuraitons that are not configured to startup automatically (esriSTManual) must be started manually using ArcCatalog, or by calling the StartConfiguration method on IServerObjectAdmin.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getStartupType in interface IServerObjectConfiguration
Returns:
A com.esri.arcgis.server.esriStartupType constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setStartupType

public void setStartupType(int type)
                    throws IOException,
                           AutomationException
The startup type for this server object configuration. Startup type describes whether the server object configuration is started when the server object manager service is started for the GIS server.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setStartupType in interface IServerObjectConfiguration
Parameters:
type - A com.esri.arcgis.server.esriStartupType constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getWaitTimeout

public int getWaitTimeout()
                   throws IOException,
                          AutomationException
Maximum time (in seconds) a client will wait for an instance of a server object for this server object configuration using the CreateServerContext method on IServerObjectManager before timing out.

Remarks

The amout of time it takes between a client requesting a server object (using the CreateServerContext method on IServerObjectManager) and getting a server object is called the wait time. A server object can be configured to have a maximum wait time by specifying the WaiteTimeout property on IServerObjectConfiguration. If a client’s wait time exceeds the maximum wait time for a server object, then their request will timeout.

The WaiteTimeout property is in seconds.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getWaitTimeout in interface IServerObjectConfiguration
Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setWaitTimeout

public void setWaitTimeout(int pVal)
                    throws IOException,
                           AutomationException
Maximum time (in seconds) a client will wait for an instance of a server object for this server object configuration using the CreateServerContext method on IServerObjectManager before timing out.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setWaitTimeout in interface IServerObjectConfiguration
Parameters:
pVal - The pVal (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getUsageTimeout

public int getUsageTimeout()
                    throws IOException,
                           AutomationException
Maximum time (in seconds) a client can hold onto an instance of a server object for this server object configuration before releasing it back to the server. It is the maximum time allowed between calling CreateServerContext and ReleaseServerContext.

Remarks

Once a client gets a reference to a server object, they can hold onto that server object as long as they want to before releasing it. The amount of time between when a client gets a reference to a server object and when they release it is called the usage time. To ensure that clients don’t hold references to server object’s for too long (i.e. they don’t correctly release server objects), A server object can be configured to have a maximum usage time by specifying the UsageTimeout property on IServerObjectConfiguration. If a client holds onto a server object longer than the maximum usage time, then the server object is automatically released and the client will lose their reference to the server object.

The UsageTimeout is in seconds.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getUsageTimeout in interface IServerObjectConfiguration
Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setUsageTimeout

public void setUsageTimeout(int pVal)
                     throws IOException,
                            AutomationException
Maximum time (in seconds) a client can hold onto an instance of a server object for this server object configuration before releasing it back to the server. It is the maximum time allowed between calling CreateServerContext and ReleaseServerContext.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setUsageTimeout in interface IServerObjectConfiguration
Parameters:
pVal - The pVal (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

serialize

public String serialize()
                 throws IOException,
                        AutomationException
Serializes the server object configuration into a string.

Remarks

The Serialize and Deserialize methods allow you to serialize server object configurations to strings, then deserialize them back into server object configurations. This can be useful when copying server object configurations between two GIS servers.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
serialize in interface IServerObjectConfiguration2
Returns:
The str
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

deserialize

public void deserialize(String str)
                 throws IOException,
                        AutomationException
Deserializes the server object configuration from a string.

Remarks

The Serialize and Deserialize methods allow you to serialize server object configurations to strings, then deserialize them back into server object configurations. This can be useful when copying server object configurations between two GIS servers.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
deserialize in interface IServerObjectConfiguration2
Parameters:
str - The str (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getExtensionProperties

public IPropertySet getExtensionProperties(String name)
                                    throws IOException,
                                           AutomationException
The extension-dependent properties for the server object configuration.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getExtensionProperties in interface IServerObjectConfiguration2
Parameters:
name - The name (in)
Returns:
A reference to a com.esri.arcgis.system.IPropertySet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setExtensionPropertiesByRef

public void setExtensionPropertiesByRef(String name,
                                        IPropertySet ppExtProperties)
                                 throws IOException,
                                        AutomationException
The extension-dependent properties for the server object configuration.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
setExtensionPropertiesByRef in interface IServerObjectConfiguration2
Parameters:
name - The name (in)
ppExtProperties - A reference to a com.esri.arcgis.system.IPropertySet (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getExtensionInfo

public IPropertySet getExtensionInfo(String name)
                              throws IOException,
                                     AutomationException
The extension-dependent info for the server object configuration.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getExtensionInfo in interface IServerObjectConfiguration2
Parameters:
name - The name (in)
Returns:
A reference to a com.esri.arcgis.system.IPropertySet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setExtensionInfoByRef

public void setExtensionInfoByRef(String name,
                                  IPropertySet ppExtProperties)
                           throws IOException,
                                  AutomationException
The extension-dependent info for the server object configuration.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
setExtensionInfoByRef in interface IServerObjectConfiguration2
Parameters:
name - The name (in)
ppExtProperties - A reference to a com.esri.arcgis.system.IPropertySet (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isExtensionEnabled

public boolean isExtensionEnabled(String name)
                           throws IOException,
                                  AutomationException
Indicates whether the state of the named extension is Enabled (true) or Disabled (false).

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
isExtensionEnabled in interface IServerObjectConfiguration2
Parameters:
name - The name (in)
Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setExtensionEnabled

public void setExtensionEnabled(String name,
                                boolean pVal)
                         throws IOException,
                                AutomationException
Indicates whether the state of the named extension is Enabled (true) or Disabled (false).

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
setExtensionEnabled in interface IServerObjectConfiguration2
Parameters:
name - The name (in)
pVal - The pVal (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCleanupTimeout

public int getCleanupTimeout()
                      throws IOException,
                             AutomationException
Maximum time (in seconds) that a SOC process will remain active to allow its no longer used server object threads to shut down gracefully before terminating them.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getCleanupTimeout in interface IServerObjectConfiguration2
Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setCleanupTimeout

public void setCleanupTimeout(int pVal)
                       throws IOException,
                              AutomationException
Maximum time (in seconds) that a SOC process will remain active to allow its no longer used server object threads to shut down gracefully before terminating them.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
setCleanupTimeout in interface IServerObjectConfiguration2
Parameters:
pVal - The pVal (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getStartupTimeout

public int getStartupTimeout()
                      throws IOException,
                             AutomationException
Maximum time (in seconds) that a SOC process will wait for an instance of a server object to start.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getStartupTimeout in interface IServerObjectConfiguration2
Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setStartupTimeout

public void setStartupTimeout(int pVal)
                       throws IOException,
                              AutomationException
Maximum time (in seconds) that a SOC process will wait for an instance of a server object to start.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
setStartupTimeout in interface IServerObjectConfiguration2
Parameters:
pVal - The pVal (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getInfo

public IPropertySet getInfo()
                     throws IOException,
                            AutomationException
Auxiliary Information for the server objects created by the server object configuration – passive properties only.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getInfo in interface IServerObjectConfiguration2
Returns:
A reference to a com.esri.arcgis.system.IPropertySet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setInfoByRef

public void setInfoByRef(IPropertySet props)
                  throws IOException,
                         AutomationException
Auxiliary Information for the server objects created by the server object configuration – passive properties only.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
setInfoByRef in interface IServerObjectConfiguration2
Parameters:
props - A reference to a com.esri.arcgis.system.IPropertySet (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getIdleTimeout

public int getIdleTimeout()
                   throws IOException,
                          AutomationException
Maximum time (in seconds) an instance of a server object for this server object configuration can remain idle.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getIdleTimeout in interface IServerObjectConfiguration3
Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setIdleTimeout

public void setIdleTimeout(int pVal)
                    throws IOException,
                           AutomationException
Maximum time (in seconds) an instance of a server object for this server object configuration can remain idle.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
setIdleTimeout in interface IServerObjectConfiguration3
Parameters:
pVal - The pVal (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getInstancesPerContainer

public int getInstancesPerContainer()
                             throws IOException,
                                    AutomationException
Number of instances in a single low isolation container.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getInstancesPerContainer in interface IServerObjectConfiguration3
Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setInstancesPerContainer

public void setInstancesPerContainer(int pVal)
                              throws IOException,
                                     AutomationException
Number of instances in a single low isolation container.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
setInstancesPerContainer in interface IServerObjectConfiguration3
Parameters:
pVal - The pVal (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.