]> git.somenet.org - pub/jan/dslab.git/blob - ue2/src/Fileserver/Main.java
all the dslab stuff
[pub/jan/dslab.git] / ue2 / src / Fileserver / Main.java
1 package Fileserver;\r
2 \r
3 import java.io.*;\r
4 import java.util.*;\r
5 import java.rmi.*;\r
6 import java.rmi.server.*;\r
7 import java.rmi.registry.*;\r
8 \r
9 \r
10 public class Main{\r
11   static private Registry $reg = null;\r
12   static private MyFS $myObject = null;\r
13   static private Nameserver.MyDNS $root = null;\r
14   static private Properties $prop = new Properties();\r
15 \r
16 \r
17 static public void main(String[] $args)throws Exception{\r
18   if($args.length != 2){\r
19     System.out.println("usage: java Fileserver.Main <my name> <dir>");\r
20     System.exit(1);\r
21   }\r
22 \r
23   System.out.println("Fileserver starting...");\r
24   InputStream $in = ClassLoader.getSystemResourceAsStream("registry.properties");\r
25   if ($in == null){\r
26     System.err.println("ERROR: Properties file not found!");\r
27     System.exit(1);\r
28   }\r
29   $prop.load($in);\r
30   $in.close();\r
31   try{\r
32     $reg = LocateRegistry.getRegistry($prop.getProperty("registry.host"), Integer.parseInt($prop.getProperty("registry.port")));\r
33     $root = (Nameserver.MyDNS) $reg.lookup("rmi://"+$prop.getProperty("registry.host")+":"+$prop.getProperty("registry.port")+"/"+$prop.getProperty("ro_id"));\r
34     $myObject = new MyFSImpl($args[0],$args[1]);\r
35     UnicastRemoteObject.exportObject($myObject, 0);\r
36     $root.regServiceRecord($myObject);\r
37     System.out.println("MyFS-Object created and registered.");\r
38 \r
39     System.out.println("Fileserver idle... Hit ENTER for shutdown.");\r
40     while(true){\r
41       Helper.readByte(System.in);\r
42       break;\r
43     }\r
44   }catch(Exception $e){\r
45     System.err.println($e.getMessage());\r
46   }try{\r
47     System.out.println("Nameserver shutting down...");\r
48     if($root != null)$root.unregServiceRecord($myObject);\r
49     UnicastRemoteObject.unexportObject($myObject, true);\r
50   }catch(Exception $e){\r
51     System.err.println($e.getMessage());\r
52     System.exit(1);\r
53   }\r
54 \r
55 }\r
56 \r
57 }