public int run(String[] args) { if (args.length > 0) { System.err.println(appName() + ": too many arguments"); return 1; } Ice.Properties properties = communicator().getProperties(); // // Create an object adapter // Ice.ObjectAdapter adapter = communicator().createObjectAdapter("Library"); // // Create an evictor for books. // Freeze.Evictor evictor = Freeze.Util.createBackgroundSaveEvictor(adapter, _envName, "books", null, null, true); int evictorSize = properties.getPropertyAsInt("EvictorSize"); if (evictorSize > 0) { evictor.setSize(evictorSize); } adapter.addServantLocator(evictor, "book"); // // Create the library, and add it to the object adapter. // LibraryI library = new LibraryI(communicator(), _envName, "authors", evictor); adapter.add(library, communicator().stringToIdentity("library")); // // Create and install a factory for books. // Ice.ObjectFactory bookFactory = new BookFactory(library); communicator().addObjectFactory(bookFactory, Demo.Book.ice_staticId()); // // Everything ok, let's go. // adapter.activate(); shutdownOnInterrupt(); communicator().waitForShutdown(); defaultInterrupt(); library.close(); return 0; }
LibraryI(Ice.Communicator communicator, String envName, String dbName, Freeze.Evictor evictor) { _evictor = evictor; _connection = Freeze.Util.createConnection(communicator, envName); _authors = new StringIsbnSeqDict(_connection, dbName, true); }