01: //***** Testing class loader ******************************
02:
03: import java.net.URL;
04: class RCLTester {
05: public static void main(String[ ] args) throws Exception {
06: // URLs as strings
07: String url1 =
08: "http://condor.depaul.edu/dmumaugh/JDP/test/classAC.jar";
09: String url2 =
10: "http://condor.depaul.edu/dmumaugh/JDP/test/classBD.jar";
11: String url3 =
12: "file:/tmp/"; // must end with '/'
13: // Array of URLs
14: URL[ ] urls =
15: { new URL(url1), new URL(url2), new URL(url3) };
16: // Construction
17: RemoteClassLoader rcl = new RemoteClassLoader(urls);
18:
19: // A and C are in one remote JAR, B and D in another
20: // E is in the local file system
21: Class ac = rcl.loadClass("A"); // A refers to B,
22: // so B is loaded
23: Class bc = rcl.loadClass("B"); // B, already loaded,
24: // won't be reloaded
25: Class cc = rcl.loadClass("C"); // in classAC.jar
26: Class dc = rcl.loadClass("D"); // in classBD.jar
27: Class ec = rcl.loadClass("E"); // local file
28: // Confirm loading
29: System.out.println(ac); // class A
30: System.out.println(bc); // class B
31: System.out.println(cc); // class C
32: System.out.println(dc); // class D
33: System.out.println(ec); // class E
34: }
35: }