summaryrefslogtreecommitdiff
path: root/java/demo/book/freeze_filesystem/Server.java
diff options
context:
space:
mode:
authorMichi Henning <michi@zeroc.com>2008-05-13 13:47:40 +1000
committerMichi Henning <michi@zeroc.com>2008-05-13 13:47:40 +1000
commit5d7c1d7e91e73eee8749fa1f111b6f3d1346b9ed (patch)
tree47ddba5c73570b5a53a514d980d031786a0c6974 /java/demo/book/freeze_filesystem/Server.java
parentfixing perms on C# files (diff)
downloadice-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.java81
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;
+}