Skip to content

Commit fbae5da

Browse files
author
Bruce Eckel
committed
rmi fixed
1 parent d506345 commit fbae5da

File tree

10 files changed

+60
-74
lines changed

10 files changed

+60
-74
lines changed

remote/DisplayPerfectTime.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
//: remote/DisplayPerfectTime.java
2+
// Uses remote object PerfectTime
3+
// {ValidateByHand}
4+
import java.rmi.registry.*;
5+
6+
public class DisplayPerfectTime {
7+
public static void
8+
main(String[] args) throws Exception {
9+
Registry reg = LocateRegistry.getRegistry("localhost");
10+
PerfectTime pt = (PerfectTime)reg.lookup("PerfectTime");
11+
for(int i = 0; i < 10; i++)
12+
System.out.println("Time: " + pt.getPerfectTime());
13+
}
14+
} ///:~

remote/PerfectTime.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
//: remote/PerfectTime.java
2+
// The PerfectTime remote interface
3+
import java.rmi.*;
4+
5+
public interface PerfectTime extends Remote {
6+
long getPerfectTime() throws RemoteException;
7+
} ///:~

remote/PerfectTimeImpl.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
//: remote/PerfectTimeImpl.java
2+
// The implementation of the PerfectTime
3+
// remote object.
4+
import java.rmi.RemoteException;
5+
6+
public class PerfectTimeImpl implements PerfectTime {
7+
public long getPerfectTime() throws RemoteException {
8+
return System.currentTimeMillis();
9+
}
10+
} ///:~

remote/PerfectTimeServer.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
//: remote/PerfectTimeServer.java
2+
// Server for the PerfectTime remote object.
3+
// {ValidateByHand}
4+
import java.rmi.registry.Registry;
5+
import java.rmi.registry.LocateRegistry;
6+
import java.rmi.RemoteException;
7+
import java.rmi.server.UnicastRemoteObject;
8+
9+
public class PerfectTimeServer {
10+
public static void main(String[] args) throws RemoteException {
11+
PerfectTimeImpl pt = new PerfectTimeImpl();
12+
PerfectTime stub = (PerfectTime)UnicastRemoteObject.exportObject(pt, 0);
13+
Registry registry = LocateRegistry.getRegistry();
14+
registry.rebind("PerfectTime", stub);
15+
System.out.println("Ready to do time");
16+
}
17+
} ///:~

remote/ptime.bat

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
start /min "registry.bat" registry.bat 3
2+
start /min "server.bat" server.bat 3
3+
timeout /t 1
4+
java DisplayPerfectTime

remote/ptime/DisplayPerfectTime.java

Lines changed: 0 additions & 26 deletions
This file was deleted.

remote/ptime/PerfectTime.java

Lines changed: 0 additions & 39 deletions
This file was deleted.

remote/ptime/PerfectTimeI.java

Lines changed: 0 additions & 9 deletions
This file was deleted.

remote/registry.bat

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
start /min "rmiregistry" rmiregistry
2+
timeout /t %1
3+
taskkill /im rmiregistry.exe
4+
exit

remote/server.bat

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
start /min "PerfectTimeServer" java PerfectTimeServer
2+
timeout /t %1
3+
taskkill /im java.exe
4+
exit

0 commit comments

Comments
 (0)