public static void main(String[] args) { System.out.println("\nRegression test for bug 4115696\n"); TestLibrary.suggestSecurityManager("java.rmi.RMISecurityManager"); try { LocateRegistry.createRegistry(REGISTRY_PORT); } catch (Exception e) { TestLibrary.bomb("creating registry", e); } RMID rmid = null; try { rmid = RMID.createRMID(true); rmid.addArguments( new String[] { "-C-Djava.security.policy=" + TestParams.defaultGroupPolicy + " -C-Djava.security.manager=java.rmi.RMISecurityManager " }); rmid.start(); Echo[] echo = spawnAndTest(); reactivateAndTest(echo); } catch (IOException e) { TestLibrary.bomb("creating rmid", e); } finally { if (rmid != null) rmid.destroy(); } }
public static void main(String[] args) { try { String serverAddress = args[0]; int port = Integer.parseInt(args[1]); String localAddress = args[2]; /** create a httpServer */ System.out.println("Starting HTTP server"); HttpServer httpServer = HttpServer.create(new InetSocketAddress(80), 0); httpServer.createContext("/", new HttpFileHandler()); httpServer.setExecutor(null); httpServer.start(); System.out.println("Creating RMI Registry"); Registry registry = LocateRegistry.createRegistry(1099); Reference reference = new javax.naming.Reference( "client.ExportObject", "client.ExportObject", "http://" + localAddress + "/"); ReferenceWrapper referenceWrapper = new com.sun.jndi.rmi.registry.ReferenceWrapper(reference); registry.bind("Object", referenceWrapper); System.out.println("Connecting to server " + serverAddress + ":" + port); Socket socket = new Socket(serverAddress, port); System.out.println("Connected to server"); String jndiAddress = "rmi://" + localAddress + ":1099/Object"; org.springframework.transaction.jta.JtaTransactionManager object = new org.springframework.transaction.jta.JtaTransactionManager(); object.setUserTransactionName(jndiAddress); System.out.println("Sending object to server..."); ObjectOutputStream objectOutputStream = new ObjectOutputStream(socket.getOutputStream()); objectOutputStream.writeObject(object); objectOutputStream.flush(); /* while(true) { Thread.sleep(1000); } */ } catch (Exception e) { e.printStackTrace(); } }
/** * @param _port * @param id * @throws RemoteException * @throws UnknownHostException */ public Chord(int _port, int id) throws RemoteException, UnknownHostException { finger = new Finger[(1 << M)]; // 1 << M = 2^(M) // TODO: set the fingers in the array to null i = id; port = _port; // TODO: determine the current IP of the machine predecessor = null; InetAddress ip = InetAddress.getLocalHost(); successor = new Finger(ip.getHostAddress(), i, i); Timer timer = new Timer(); timer.scheduleAtFixedRate( new TimerTask() { @Override public void run() { try { stabilize(); } catch (RemoteException | UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } fixFingers(); checkPredecessor(); } }, 500, 500); try { // create the registry and bind the name and object. System.out.println("Starting RMI at port=" + port); registry = LocateRegistry.createRegistry(port); registry.rebind("Chord", this); } catch (RemoteException e) { throw e; } }