Skip to content

Latest commit

 

History

History
47 lines (37 loc) · 1.76 KB

README.md

File metadata and controls

47 lines (37 loc) · 1.76 KB

This example demonstrates IceGrid's registry replication feature.

To run the demo, start the IceGrid registries and nodes (you can start the registries and nodes in any order, you can also start one or two registries and start more later):

icegridregistry --Ice.Config=config.master
icegridregistry --Ice.Config=config.replica1
icegridregistry --Ice.Config=config.replica2
icegridnode --Ice.Config=config.node1
icegridnode --Ice.Config=config.node2

In a separate window:

icegridadmin --Ice.Config=config.client -e "application add application.xml"
client

This will deploy the application described in the file application.xml and start the client.

The client invokes the number of specified iterations with a given delay on a well-known proxy configured to use per-request load balancing. Each invocation on the proxy queries the IceGrid registry locator to retrieve the endpoints of the object (you can set Ice.Trace.Location=1 to see the locator invocations).

While the client is running and invoking on the server, you can try to shutdown some of the registries with the registry shutdown icegridadmin command or from the IceGridGUI. You can of course also try to kill them. As long as one IceGrid registry is still running, the client will continue to work.

Similarly, you can shutdown or kill one of the servers or nodes, and the client will continue to work.

Finally, the registries and nodes are configured to redirect their standard error and output to files in their data directories named stderr.txt and stdout.txt. You can view these files using the icegridadmin registry show or node show commands or with the IceGridGUI. The standard error files contain the registry and node traces.