📄 announcerserver.java
字号:
import java.rmi.*;
import java.rmi.server.*;
import java.util.*;
import java.awt.*;
public class AnnouncerServer extends UnicastRemoteObject
implements Announcer {
/* The Airport System Announcer Server L Botha Jan 1998
* =================================== Java 1.1
*
* Maintains a sequence of messages which are
* passed to the montior on request.
* Illustrates RMISecurityManager and Vectors.
*/
Vector messageBuffer;
AnnouncerServer() throws RemoteException {
messageBuffer = new Vector();
sendMessage(" Initialising Monitor...");
}
public void sendMessage(String message) {
messageBuffer.addElement(message);
}
public synchronized boolean hasMessage() {
return(messageBuffer.size() > 0);
}
public synchronized void removeMessage() {
if (hasMessage())
messageBuffer.removeElementAt(0);
}
public synchronized String getMessage() {
if (hasMessage())
return((String)messageBuffer.elementAt(0));
else
return("");
}
public static void main(String[] args) {
AnnouncerServer obj = null;
try {
obj = new AnnouncerServer();
Naming.rebind("rmi:///AnnouncerServer", obj);
System.out.println("Announcer server bound in registry");
Monitor monitor = new Monitor(obj);
Thread t = new Thread(monitor);
t.start();
System.out.println("Announcer monitor started");
} catch (Exception e) {
System.out.println("Announcer error: " + e);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -