Program: RMIWatch
Here’s a program I put together while teaching Java
courses for Learning Tree (http://www.learningtree.com). In one
exercise, each student starts the RMI registry on his or her machine
and uses Naming.rebind( )
(as in Section 22.4) to register with it. Some students come up
with interesting variations on the theme of registering. So this
program contacts the RMI registry on each of a batch of machines, and
shows the instructor graphically which machines have RMI running and
what is registered. A red flag shows machines that don’t even
have the registry program running: a black flag shows machines that
are dead to the (networked) world.
This program also uses many ideas from elsewhere in the book. A
Swing GUI (Chapter 13) is used. The layout is a
GridLayout
(discussed briefly in Section 13.3). A default list of machines to watch is
loaded from a
Properties
object.
(Section 7.8). For each host, an
RMIPanel
is constructed. This class is both a
JComponent
(Section 13.2) and
a thread (Section 24.1). As a
JComponent
, it can be run in a panel, and as a
thread, it can run independently and then sleep for 30 seconds (by
default; settable in the properties file) so it isn’t
continually hammering away at the RMI registry on all the machines
(the network traffic could be awesome). This program combines all
these elements, and comes out looking like the display in Figure 22-3 (alas, we don’t have color pages in this
book).
Figure 22-3. NetWatch watching the class
Get Java Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.