1*f1fbf3c2SXin Li package sample.rmi; 2*f1fbf3c2SXin Li 3*f1fbf3c2SXin Li import javassist.tools.rmi.AppletServer; 4*f1fbf3c2SXin Li import java.io.IOException; 5*f1fbf3c2SXin Li import javassist.CannotCompileException; 6*f1fbf3c2SXin Li import javassist.NotFoundException; 7*f1fbf3c2SXin Li 8*f1fbf3c2SXin Li public class Counter { 9*f1fbf3c2SXin Li private int count = 0; 10*f1fbf3c2SXin Li get()11*f1fbf3c2SXin Li public int get() { 12*f1fbf3c2SXin Li return count; 13*f1fbf3c2SXin Li } 14*f1fbf3c2SXin Li increase()15*f1fbf3c2SXin Li synchronized public int increase() { 16*f1fbf3c2SXin Li count += 1; 17*f1fbf3c2SXin Li return count; 18*f1fbf3c2SXin Li } 19*f1fbf3c2SXin Li main(String[] args)20*f1fbf3c2SXin Li public static void main(String[] args) 21*f1fbf3c2SXin Li throws IOException, NotFoundException, CannotCompileException 22*f1fbf3c2SXin Li { 23*f1fbf3c2SXin Li if (args.length == 1) { 24*f1fbf3c2SXin Li AppletServer web = new AppletServer(args[0]); 25*f1fbf3c2SXin Li web.exportObject("counter", new Counter()); 26*f1fbf3c2SXin Li web.run(); 27*f1fbf3c2SXin Li } 28*f1fbf3c2SXin Li else 29*f1fbf3c2SXin Li System.err.println( 30*f1fbf3c2SXin Li "Usage: java sample.rmi.Counter <port number>"); 31*f1fbf3c2SXin Li } 32*f1fbf3c2SXin Li } 33