-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSetup.java
93 lines (81 loc) · 3.08 KB
/
Setup.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
package server;
import java.rmi.RMISecurityManager;
import java.rmi.activation.Activatable;
import java.rmi.activation.ActivationDesc;
import java.rmi.activation.ActivationGroup;
import java.rmi.activation.ActivationGroupDesc;
import java.rmi.activation.ActivationGroupID;
import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;
/**
* Codice di inizializzazione dei server.
*
* @author Pietro Musoni
* @author Carlo Tacchella
*/
final class Setup {
static String serverIP;
static String serverClass = "server.MainServerImpl";
static String policy;
public static void main(String args[]) {
String serverDir=System.getenv("SERVERDIR");
policy=serverDir+"/policy";
serverIP = System.getenv("SERVERIP");
System.out.println(serverIP);
System.out.println("Sono il codice di inizializzazione dei server.");
System.setSecurityManager(new RMISecurityManager());
try {
Properties prop = new Properties();
prop.put("java.security.policy", policy);
prop.put("java.class.path", serverClass);
prop.put("javax.net.ssl.keyStore", "mySrvKeystore");
prop.put("javax.net.ssl.keyStorePassword", "123456");
System.out.println("Creo il gruppo di attivazione.");
// creazione del gruppo di attivazione
ActivationGroupDesc groupDesc = new ActivationGroupDesc(prop, null);
System.out.println("Gruppo creato.");
System.out
.println("Registrazione del gruppo su "
+ System
.getProperty("java.rmi.activation.ActivationSystem")
+ ".");
// registrazione del gruppo di attivazione
ActivationGroupID groupID = ActivationGroup.getSystem()
.registerGroup(groupDesc);
System.out.println("Gruppo registrato.");
System.out.println("Creo l'Activation Descriptor.");
// creazione di un descrittore per il main server
ActivationDesc actDesc = new ActivationDesc(
groupID,
serverClass,
"file://"+serverDir+"/",
null);
// Registro il server attivabile
System.out.println("Activation Descriptor creato.");
System.out.println("Ora registro il descrittore.");
MainServerClient stub_server = (MainServerClient) Activatable.register(actDesc);
System.out.println("Descrittore registrato.");
System.out.println(stub_server);
AuthServerImpl server = new AuthServerImpl(stub_server);
Properties prop1 = new Properties();
prop1.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sun.jndi.rmi.registry.RegistryContextFactory");
prop1.put(Context.PROVIDER_URL, "rmi://" + serverIP);
InitialContext cxt1 = new InitialContext(prop1);
cxt1.rebind("AuthServer", server);
System.out.println("AuthServer esportato tramite JRMP.");
Properties prop2 = new Properties();
prop2.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sun.jndi.cosnaming.CNCtxFactory");
prop2.put(Context.PROVIDER_URL, "iiop://" + serverIP + ":5555");
InitialContext cxt2 = new InitialContext(prop2);
cxt2.rebind("AuthServer", server);
System.out.println("AuthServer esportato tramite IIOP.");
// 4 debug
System.out.println("Inizializzazione completata!");
} catch (Exception e) {
e.printStackTrace();
}
}
}