As installed, the Oracle ATG Web Commerce default configuration enables event messaging for distributed TCP caching mode; you only need to ensure that the das_gsa_subscriber table is properly created in your database.

Event server

All SQL repositories in a given Oracle ATG Web Commerce instance set their eventServer property to the same event server component. The default component path is:

/atg/dynamo/server/SQLRepositoryEventServer

Event server ports

By default, each event server listens for cache invalidation events on a port that is randomly assigned by the operating system. Alternatively, you can set an event server component’s port property to a permanent port number—for example, in order to bypass a firewall.

Event server connection timeout

Occasionally, an Oracle ATG Web Commerce instance’s event server is inaccessible—for example, the host machine has gone down. You can control the length of time allowed to establish a socket connection to an event server through its connectTimeout property—by default, set to 60000 milliseconds.

If a connection attempt times out, the event server attempting to connect prints a warning message. Also, the routing information for the item descriptor on the unresponsive Oracle ATG Web Commerce instance is removed from das_gsa_subscriber. The event server starts a new connection attempt after the time span specified in its connectRetryTimeout property, initially set to 120000 milliseconds.

GSAEvent timeout

An event server determines whether other event servers are alive by their responses to the GSAEvents that it sends. If an event server does not respond within the time span specified by its sendRemoteEventTimeout property—by default, 60000 milliseconds—the sending event server assumes an invalid socket connection to the non-responding event server and drops the corresponding GSAConnection from its connection table. It then attempts to reconnect within the time span specified by its connectTimeout property.

An event server uses its sendRemoteEventTimeout property only if its enableSendRemoteEventTimeout property is set to true (the default setting).