diff options
author | Michi Henning <michi@zeroc.com> | 2008-05-13 13:47:40 +1000 |
---|---|---|
committer | Michi Henning <michi@zeroc.com> | 2008-05-13 13:47:40 +1000 |
commit | 5d7c1d7e91e73eee8749fa1f111b6f3d1346b9ed (patch) | |
tree | 47ddba5c73570b5a53a514d980d031786a0c6974 /java/demo/book/freeze_filesystem/Server.java | |
parent | fixing perms on C# files (diff) | |
download | ice-5d7c1d7e91e73eee8749fa1f111b6f3d1346b9ed.tar.bz2 ice-5d7c1d7e91e73eee8749fa1f111b6f3d1346b9ed.tar.xz ice-5d7c1d7e91e73eee8749fa1f111b6f3d1346b9ed.zip |
Reverted changes to freeze demos.
Squashed commit of the following:
commit 8538f7592c2394757efe5770e7ee64e6c798cc54
Author: Michi Henning <michi@zeroc.com>
Date: Tue May 13 13:40:14 2008 +1000
Revert "Updated Freeze demos to align with life cycle chapter. Added interactive"
This reverts commit 3fc7fe8faf1c73e85fdb6f1274ed380155f9a8fc.
commit 4c8f5001f7488c942e6e42b4c935925b255c8de6
Author: Michi Henning <michi@zeroc.com>
Date: Tue May 13 13:39:52 2008 +1000
Revert "Removed freeze_filesystem demo (now called evictor_filesystem)."
This reverts commit 024c99e50dc0a3e2dee903d1470e028273706ace.
commit db921eebbfea02a628a6d7ac2fc3fe876005da7c
Author: Michi Henning <michi@zeroc.com>
Date: Tue May 13 13:39:33 2008 +1000
Revert "Added map filesystem demo for Java."
This reverts commit ed82a00405e11037b739b2a9e3a33d820a44d34d.
Diffstat (limited to 'java/demo/book/freeze_filesystem/Server.java')
-rw-r--r-- | java/demo/book/freeze_filesystem/Server.java | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/java/demo/book/freeze_filesystem/Server.java b/java/demo/book/freeze_filesystem/Server.java new file mode 100644 index 00000000000..6e66f3ccb3f --- /dev/null +++ b/java/demo/book/freeze_filesystem/Server.java @@ -0,0 +1,81 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved. +// +// This copy of Ice is licensed to you under the terms described in the +// ICE_LICENSE file included in this distribution. +// +// ********************************************************************** + +import Filesystem.*; + +public class Server extends Ice.Application +{ + public + Server(String envName) + { + _envName = envName; + } + + public int + run(String[] args) + { + // + // Install object factories. + // + Ice.ObjectFactory factory = new NodeFactory(); + communicator().addObjectFactory(factory, PersistentFile.ice_staticId()); + communicator().addObjectFactory(factory, PersistentDirectory.ice_staticId()); + + // + // Create an object adapter. + // + Ice.ObjectAdapter adapter = + communicator().createObjectAdapterWithEndpoints("FreezeFilesystem", "default -p 10000"); + + // + // Create the Freeze evictor (stored in the _evictor + // static member). + // + Freeze.ServantInitializer init = new NodeInitializer(); + Freeze.Evictor evictor = Freeze.Util.createBackgroundSaveEvictor(adapter, _envName, "evictorfs", init, null, true); + DirectoryI._evictor = evictor; + FileI._evictor = evictor; + + adapter.addServantLocator(evictor, ""); + + // + // Create the root node if it doesn't exist. + // + Ice.Identity rootId = Ice.Util.stringToIdentity("RootDir"); + if(!evictor.hasObject(rootId)) + { + PersistentDirectory root = new DirectoryI(rootId); + root.nodeName = "/"; + root.nodes = new java.util.HashMap(); + evictor.add(root, rootId); + } + + // + // Ready to accept requests now. + // + adapter.activate(); + + // + // Wait until we are done. + // + communicator().waitForShutdown(); + + return 0; + } + + public static void + main(String[] args) + { + Server app = new Server("db"); + int status = app.main("Server", args, "config.server"); + System.exit(status); + } + + private String _envName; +} |