📄 airportmessageserver.java
字号:
import java.rmi.*;
import java.rmi.server.*;
import java.util.*;
public class AirportMessageServer extends UnicastRemoteObject
implements AirportMessage {
/* The Airport System's Message Server by L Botha Jan 1998
* ===================================
*
* Generates a general message every 60 seconds
* which the Message Client can fetch.
*/
long lastMessageSent;
int lastMessageNumber;
public AirportMessageServer() throws RemoteException {
lastMessageSent = System.currentTimeMillis();
}
public String getMessage() throws RemoteException {
String message = null;
if (timeForMessage()) {
switch (lastMessageNumber) {
case 0 :
message = "This is a security announcement. "
+ "Do not leave baggage "
+ "at any time. Baggage left unattended will be removed "
+ "and destroyed.";
break;
case 1:
message = "The Airports Company welcomes you "
+"and trusts you will "
+ "have a safe and pleasant journey.";
break;
case 2:
message = "Children are not allowed to play on the "
+"escalators or in the lifts.";
default: message = "";
}
if (lastMessageNumber == 2)
lastMessageNumber = 0;
else lastMessageNumber++;
}
return message;
}
public boolean timeForMessage() {
long currentTime = System.currentTimeMillis();
// every 60 seconds
if ((currentTime-lastMessageSent) > 60000) {
lastMessageSent = currentTime;
return true;
} else return false;
}
public static void main(String[] args) {
AirportMessageServer obj = null;
try {
obj = new AirportMessageServer();
Naming.rebind("rmi:///AirportMessageServer", obj);
System.out.println("Airport message server bound in registry");
} catch (Exception e) {
System.out.println("Announcer error: " + e);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -