Ice Object Adapter Properties

name.AdapterId

Synopsis

name.AdapterId=id

Description

Specifies an identifier for the object adapter with the name name. This identifier must be unique among all object adapters using the same locator instance. If a locator proxy is defined using name.Locator or Ice.Default.Locator, this object adapter sets its endpoints with the locator registry upon activation.

name.Endpoints

Synopsis

name.Endpoints=endpoints

Description

Sets the endpoints for the object adapter name to endpoints. These endpoints specify the network interfaces on which the object adapter receives requests. Proxies created by the object adapter contain these endpoints, unless the name.PublishedEndpoints property is also specified.

name.PublishedEndpoints

Synopsis

name.PublishedEndpoints=endpoints

Description

When creating a proxy, the object adapter name normally includes the endpoints defined by name.Endpoints. If name.PublishedEndpoints is defined, the object adapter uses these endpoints instead. This is useful in many situations, such as when a server resides behind a port-forwarding firewall, in which case the object adapter's public endpoints must specify the address and port of the firewall.

name.Locator

Synopsis

name.Locator=locator

Description

Specifies a locator for the object adapter with the name name. The value is a stringified proxy to the Ice locator interface.

name.RegisterProcess

Synopsis

name.RegisterProcess=num

Description

If num is set to a value larger than zero, the object adapter with the name name registers the server with the locator registry. Registration occurs upon the object adapter's initial activation, during which the object adapter creates a servant implementing the Ice::Process interface, adds the servant using a UUID, and registers its proxy with the locator registry using the value of the Ice.ServerId property for the server id. The servant implements the shutdown operation by invoking shutdown on the object adapter's communicator.

It is important for a server to be registered with the locator registry so that services such as IcePack can request a graceful shutdown when necessary. If a server is not registered, then platform-specific techniques are used to request a shutdown, and these techniques are not always effective (especially on Windows platforms).

Note

Only one object adapter in a server should register with a locator registry.

Note

The Ice::Process servant represents a potential target for denial-of-service attacks. The object adapter uses a UUID to make the proxy more difficult to guess, but the object adapter should be configured with secure endpoints if the server operates in a potentially hostile environment. Alternatively, a dedicated object adapter can be created specifically to provide a restricted access point for services such as IcePack.

name.Router

Synopsis

name.Router=router

Description

Specifies a router for the object adapter with the name name. The value is a stringified proxy to the Ice router control interface. Defining a router allows the object adapter to receive callbacks from the router over outgoing connections from this process to the router, thereby avoiding the need for the router to establish a connection back to the object adapter.

Note

A router can only be assigned to one object adapter. Specifying the same router for more than one object adapter results in undefined behavior. The default value is no router.

Ice.PrintAdapterReady

Synopsis

Ice.PrintAdapterReady=num

Description

If num is set to a value larger than zero, an object adapter prints "adapter_name ready" on standard output after initialization is complete. This is useful for scripts that need to wait until an object adapter is ready to be used.