Java Code Examples for java.rmi.AlreadyBoundException

The following are top voted examples for showing how to use java.rmi.AlreadyBoundException. These examples are extracted from open source projects. You can vote up the examples you like and your votes will be used in our system to generate more good examples.
Example 1
Project: JavaRushTasks   File: Solution.java   View source code 6 votes vote down vote up
@Override
public void run() {
    //напишите тут ваш код
    try {
        //создание объекта для удаленного доступа
        final Animal cat = new Cat("Barsik");
        final Animal dog = new Dog("Palkan");

        //создание реестра расшареных объетов
        registry = LocateRegistry.createRegistry(2099);

        //создание "заглушки" – приемника удаленных вызовов
        Remote stubCat = UnicastRemoteObject.exportObject(cat, 0);
        Remote stubDog = UnicastRemoteObject.exportObject(dog, 0);

        //регистрация "заглушки" в реесте
        registry.bind(BINDING_NAME1, stubCat);
        registry.bind(BINDING_NAME2, stubDog);

    } catch (RemoteException | AlreadyBoundException e) {
        e.printStackTrace();
    }
}
 
Example 2
Project: openNaEF   File: MplsnmsTefService.java   View source code 6 votes vote down vote up
@Override protected void serviceStarted() {
    super.serviceStarted();

    String rmiServiceName = System.getProperty(PROPERTYNAME_RMISERVICENAME);
    if (rmiServiceName == null) {
        throw new IllegalStateException("system property '" + PROPERTYNAME_RMISERVICENAME+ "' を設定してください.");
    }
    try {
        TefService.instance().getRmiRegistry().bind(rmiServiceName, new MplsnmsRmiServiceAccessPoint.Impl());
    } catch (RemoteException re) {
        throw new RuntimeException(re);
    } catch (AlreadyBoundException abe) {
        throw new RuntimeException(abe);
    }

    NaefTefService.instance().getRmcServerService()
        .registerMethod(AllocateVlanIpsubnetaddr.Call.class, new AllocateVlanIpsubnetaddr.Exec());
}
 
Example 3
Project: openNaEF   File: DistributedTransactionService.java   View source code 6 votes vote down vote up
public static void main(String[] args)
        throws RemoteException, AlreadyBoundException {
    if (args.length != 3) {
        System.out.println
                ("args: [port] [service name]"
                        + " [acceptable tef service ids (comma separated)]");
        return;
    }

    String portStr = args[0];
    String serviceName = args[1];
    String[] acceptableTefServiceIds = args[2].split(",");

    int port;
    try {
        port = Integer.parseInt(portStr);
    } catch (NumberFormatException nfe) {
        throw new IllegalArgumentException("invalid number format: port");
    }

    new Impl(port, serviceName, acceptableTefServiceIds);
}
 
Example 4
Project: CanReg5   File: InstallNewSystemInternalFrame.java   View source code 6 votes vote down vote up
@Override
protected Object doInBackground() {
    // Your Task's code here.  This method runs
    // on a background thread, so don't reference
    // the Swing GUI from here...
    String result = "stopped";
    try {
        if (canreg.common.ServerLauncher.start(Globals.DEFAULT_SERVER_ADDRESS, systemDescription.getSystemCode(), Globals.DEFAULT_PORT)) {
            result = "started";
        }
    } catch (AlreadyBoundException ex) {
        result = "running";
        Logger.getLogger(InstallNewSystemInternalFrame.class.getName()).log(Level.INFO, null, ex);
    }
    // Return your result...
    return result;
}
 
Example 5
Project: CanReg5   File: LoginInternalFrame.java   View source code 6 votes vote down vote up
@Override
protected Object doInBackground() {
    // Your Task's code here.  This method runs
    // on a background thread, so don't reference
    // the Swing GUI from here...
    String result = "stopped";
    try {
        if (canreg.common.ServerLauncher.start(serverURLTextField.getText(), codeField.getText(), Integer.parseInt(portField.getText()))) {
            result = "started";
        } else {
            // if this fails, does that always mean this is running?
            result = "running";
        }
    } catch (AlreadyBoundException ex) {
        result = "running";
        Logger.getLogger(LoginInternalFrame.class.getName()).log(Level.INFO, null, ex);
    }
    // Return your result... 
    return result;
}
 
Example 6
Project: jas   File: ClusterImpl.java   View source code 6 votes vote down vote up
public ClusterImpl(ActorSystem system, String host, String seedHost) throws RemoteException {
    super();
    this.system = (AbsActorSystem) system;
    this.members = Collections.newSetFromMap(new ConcurrentHashMap<String, Boolean>());
    this.seed = seedHost;
    if (!host.equals(seedHost))
        this.uuid = host + "/" + UUID.randomUUID().toString().replaceAll("-", "");
    else this.uuid = host + "/master";
    try {
        Naming.bind("rmi://" + this.uuid, this);
        join(this.uuid);
        if (!host.equals(seedHost))
            updateMembers(seedHost, this.uuid);
    } catch (AlreadyBoundException | MalformedURLException e) {
        e.printStackTrace();
    }
}
 
Example 7
Project: cloudkeeper   File: ITFileLockSyncContextFactory.java   View source code 6 votes vote down vote up
/**
 * Entry point for the JVM forked by {@link #testSeparateJVMs()}.
 */
public static void main(String[] arguments) throws IOException, AlreadyBoundException, NotBoundException {
    LocalController localController = new LocalController();

    Registry registry = LocateRegistry.createRegistry(REGISTRY_PORT);
    Controller controller = (Controller) UnicastRemoteObject.exportObject(localController, 0);
    registry.bind(CONTROLLER, controller);

    Path lockFile = Paths.get(arguments[0]);
    RepositorySystemSession repositorySystemSession = Mockito.mock(RepositorySystemSession.class);
    try (FileLockSyncContextFactory syncContextFactory = new FileLockSyncContextFactory(lockFile)) {
        new SyncTask(syncContextFactory, localController, repositorySystemSession).run();
    }

    UnicastRemoteObject.unexportObject(localController, true);
    UnicastRemoteObject.unexportObject(registry, true);
}
 
Example 8
Project: scheduling   File: RMTHelper.java   View source code 6 votes vote down vote up
/**
 * Create several nodes on the same JVMProcess
 */
public static List<TestNode> createNodes(final String nodeName, int number)
        throws IOException, NodeException, ExecutionException, InterruptedException, AlreadyBoundException {
    if (number == 0) {
        throw new IllegalArgumentException("" + number);
    }

    ArrayList<TestNode> nodes = new ArrayList<>(number);
    // Start the JVMProcess and create the first node
    TestNode node0 = createNode(nodeName + 0, findFreePort());
    nodes.add(0, node0);

    // create all subsequent nodes remotely
    for (int i = 1; i < number; i++) {
        Node nodei = node0.getNode().getProActiveRuntime().createLocalNode(nodeName + i, false, null);
        nodes.add(new TestNode(node0.getNodeProcess(), nodei));
    }

    return nodes;
}
 
Example 9
Project: mlib   File: RMITest.java   View source code 6 votes vote down vote up
@Test
public void server() throws RemoteException, AlreadyBoundException, InterruptedException {
	int port = 8030;
	Registry registry = LocateRegistry.createRegistry(port);

	RIImpl ro = new RIImpl();
	Remote expRO = UnicastRemoteObject.exportObject(ro, port + 1);
	registry.bind("ro", expRO);

	registry.bind("po", (PureObj) () -> {
		System.out.println("PureObj getValue");
		return 1;
	});

	int i = 1;
	while (true) {
		Thread.sleep(1_000);
		ro.v = i++;
	}
}
 
Example 10
Project: cn1   File: RegistryImpl.java   View source code 6 votes vote down vote up
/**
 * @see Registry.bind(String, Remote)
 */
public void bind(String name, Remote obj)
        throws RemoteException, AlreadyBoundException, AccessException {
    if (name == null) {
        // rmi.5D=name could not be null.
        throw new NullPointerException(Messages.getString("rmi.5D")); //$NON-NLS-1$
    }

    if (obj == null) {
        // rmi.5C=obj could not be null.
        throw new NullPointerException(Messages.getString("rmi.5C")); //$NON-NLS-1$
    }

    if (table.containsKey(name)) {
        // rmi.5E=There is already binding to the name {0}.
        throw new AlreadyBoundException(Messages.getString("rmi.5E", name)); //$NON-NLS-1$
    }
    checkAccess("RegistryImpl.bind"); //$NON-NLS-1$
    table.put(name, obj);
}
 
Example 11
Project: libbluray   File: IxcRegistryImpl.java   View source code 6 votes vote down vote up
public void bind(XletContext xc, String path, Remote obj)
    throws AlreadyBoundException {

    Debug("IxcRegistry.bind(" + xc + ", " + path + ", " + obj + ")");

    if (!(xc instanceof BDJXletContext) || (BDJXletContext)xc != BDJXletContext.getCurrentContext()) {
        Debug("bind(): xc not current BDJXletContext");
        throw new IllegalArgumentException("xc not current BDJXletContext");
    }
    if (((BDJXletContext)xc).isReleased()) {
        Debug("bind(): xc is destroyed");
        return;
    }

    synchronized (remoteObjects) {
        if (remoteObjects.containsKey(path))
            throw new AlreadyBoundException();
        remoteObjects.put(path, new WrappedRemoteObj(obj, (BDJXletContext)xc));
    }
}
 
Example 12
Project: freeVM   File: RegistryImpl.java   View source code 6 votes vote down vote up
/**
 * @see Registry.bind(String, Remote)
 */
public void bind(String name, Remote obj)
        throws RemoteException, AlreadyBoundException, AccessException {
    if (name == null) {
        // rmi.5D=name could not be null.
        throw new NullPointerException(Messages.getString("rmi.5D")); //$NON-NLS-1$
    }

    if (obj == null) {
        // rmi.5C=obj could not be null.
        throw new NullPointerException(Messages.getString("rmi.5C")); //$NON-NLS-1$
    }

    if (table.containsKey(name)) {
        // rmi.5E=There is already binding to the name {0}.
        throw new AlreadyBoundException(Messages.getString("rmi.5E", name)); //$NON-NLS-1$
    }
    checkAccess("RegistryImpl.bind"); //$NON-NLS-1$
    table.put(name, obj);
}
 
Example 13
Project: freeVM   File: RegistryImpl.java   View source code 6 votes vote down vote up
/**
 * @see Registry.bind(String, Remote)
 */
public void bind(String name, Remote obj)
        throws RemoteException, AlreadyBoundException, AccessException {
    if (name == null) {
        // rmi.5D=name could not be null.
        throw new NullPointerException(Messages.getString("rmi.5D")); //$NON-NLS-1$
    }

    if (obj == null) {
        // rmi.5C=obj could not be null.
        throw new NullPointerException(Messages.getString("rmi.5C")); //$NON-NLS-1$
    }

    if (table.containsKey(name)) {
        // rmi.5E=There is already binding to the name {0}.
        throw new AlreadyBoundException(Messages.getString("rmi.5E", name)); //$NON-NLS-1$
    }
    checkAccess("RegistryImpl.bind"); //$NON-NLS-1$
    table.put(name, obj);
}
 
Example 14
Project: EXPERImonitor   File: ExperimediaFactory.java   View source code 6 votes vote down vote up
/**
 * Creates an application including all the required EDMProv elements:
 * agent, entity and the activity of running the app, started by the
 * participant running it.
 *
 * @param participant the participant who runs the application
 * @param name the human readable name of the application
 * @param timestamp the time the application is started
 * @return the application
 */
public Application createApplication(Participant participant, String name, String timestamp) {
    Application app = new Application();
    String appName = name.trim().substring(0, 1).toUpperCase() + name.replace(" ", "").substring(1).toLowerCase();
    try {
        app.activity = participant.agent.startActivity("Using" + appName + "Activity_"
                + UUID.randomUUID(), "Using " + name + " activity", timestamp);
        app.entity = app.activity.generateEntity("app_entity_" + UUID.randomUUID(), name, timestamp);
        app.entity.addOwlClass(provFactory.getNamespaceForPrefix("eee") + "Application");
        app.agent = provFactory.createAgent("app_agent_" + UUID.randomUUID(), name);
        app.agent.addTriple(provFactory.getNamespaceForPrefix("owl") + "sameAs",
                app.entity.getIri(), EDMTriple.TRIPLE_TYPE.OBJECT_PROPERTY);
        app.agent.actOnBehalfOf(participant.agent);
        app.participant = participant;
    } catch (DataFormatException | DatatypeConfigurationException | AlreadyBoundException | NoSuchFieldException e) {
        logger.error("Error creating application", e);
        app = null;
    }
    return app;
}
 
Example 15
Project: EXPERImonitor   File: ExperimediaFactory.java   View source code 6 votes vote down vote up
/**
 * Make the participant use data on the client
 *
 * @param participant the participant
 * @param client the application which the participant is using
 * @param data the content which is used
 * @param dataName the name of the data to be used for labelling
 * @param timestamp the unix timestamp of this discrete useData (start=end)
 * @param duration in seconds
 * @return the useData of using the data
 */
public Activity useDataOnClient(Participant participant, Application client, Content data,
        String dataName, String timestamp, String duration) {

    Activity useData = new Activity();
    try {
        String dName = dataName.substring(0, 1).toUpperCase() + dataName.replaceAll(" ", "").substring(1);

        if (duration == null) {
            useData.activity = participant.agent.doDiscreteActivity("Use" + dName + "Activity_" + UUID.randomUUID(), "Use " + dataName, timestamp);
        } else {
            useData.activity = participant.agent.startActivity("Use" + dName + "Activity_" + UUID.randomUUID(), "Use " + dataName, timestamp);
            participant.agent.stopActivity(useData.activity, getEndTimestamp(timestamp, duration));
        }

        useData.activity.useEntity(data.entity);
        useData.activity.useEntity(client.entity);
    } catch (DataFormatException | DatatypeConfigurationException | AlreadyBoundException e) {
        logger.error("Error creating \"use data on client\" pattern", e);
    }
    return useData;
}
 
Example 16
Project: EXPERImonitor   File: ExperimediaFactory.java   View source code 6 votes vote down vote up
/**
 * Make a participant use a real world entity
 *
 * @param participant the participant
 * @param entity the entity to be used
 * @param timestamp the unix timestamp of this discrete useData (start=end)
 * @param duration in seconds
 *
 * @return the useData Activity of the agent using the entity
 */
public Activity useRealWorldEntity(Participant participant, Entity entity, String timestamp, String duration) {

    Activity useEntity = new Activity();
    try {

        if (duration == null) {
            useEntity.activity = participant.agent.doDiscreteActivity("UseActivity_"
                    + UUID.randomUUID(), "Use " + entity.entity.getFriendlyName(), timestamp);
        } else {
            useEntity.activity = participant.agent.startActivity("UseActivity_"
                    + UUID.randomUUID(), "Use " + entity.entity.getFriendlyName(), timestamp);
            participant.agent.stopActivity(useEntity.activity, getEndTimestamp(timestamp, duration));
        }

        useEntity.activity.useEntity(entity.entity);
    } catch (DataFormatException | DatatypeConfigurationException | AlreadyBoundException e) {
        logger.error("Error creating \"use entity\" pattern", e);
    }
    return useEntity;
}
 
Example 17
Project: EXPERImonitor   File: ExperimediaFactory.java   View source code 6 votes vote down vote up
/**
 * Make the participant navigate the client
 *
 * @param participant the participant
 * @param client the application which the participant is using
 * @param timestamp the unix timestamp of this discrete activity (start=end)
 * @param duration in seconds
 * @return the activity of navigating
 */
public Activity navigateClient(Participant participant, Application client, String timestamp, String duration) {

    Activity navigate = new Activity();
    try {

        if (duration == null) {
            navigate.activity = participant.agent.doDiscreteActivity("NavigateClientActitivy_"
                    + UUID.randomUUID(), "Navigate " + client.entity.getFriendlyName(), timestamp);
        } else {
            navigate.activity = participant.agent.startActivity("NavigateClientActitivy_"
                    + UUID.randomUUID(), "Navigate " + client.entity.getFriendlyName(), timestamp);
            participant.agent.stopActivity(navigate.activity, getEndTimestamp(timestamp, duration));
        }

        navigate.activity.useEntity(client.entity);
    } catch (DataFormatException | DatatypeConfigurationException | AlreadyBoundException e) {
        logger.error("Error creating \"navigate client\" pattern", e);
    }
    return navigate;
}
 
Example 18
Project: proactive-component-monitoring   File: PADeployment.java   View source code 6 votes vote down vote up
/**
 * Registers locally the given VirtualNode in a registry such RMIRegistry or HTTP registry.
 * The VirtualNode to register must exist on the local runtime. This is done when using XML Deployment Descriptors
 * @param virtualNode the VirtualNode to register.
 * @param registrationProtocol The protocol used for registration or null in order to use the protocol used to start the jvm.
 * At this time RMI, HTTP, IBIS are supported. If set to null, the registration protocol will be set to the system property:
 * proactive.communication.protocol
 * @param replacePreviousBinding
 * @throws ProActiveException If the VirtualNode with the given name has not been yet activated or does not exist on the local runtime
 */
public static void registerVirtualNode(VirtualNode virtualNode, String registrationProtocol,
        boolean replacePreviousBinding) throws ProActiveException, AlreadyBoundException {
    if (!(virtualNode instanceof VirtualNodeImpl)) {
        throw new ProActiveException("Cannot register such virtualNode since it results from a lookup!");
    }
    if (registrationProtocol == null) {
        registrationProtocol = CentralPAPropertyRepository.PA_COMMUNICATION_PROTOCOL.getValue();
    }
    String virtualnodeName = virtualNode.getName();
    ProActiveRuntime part = RuntimeFactory.getProtocolSpecificRuntime(registrationProtocol);
    VirtualNodeInternal vn = part.getVirtualNode(virtualnodeName);
    if (vn == null) {
        throw new ProActiveException("VirtualNode " + virtualnodeName +
            " has not been yet activated or does not exist! Try to activate it first !");
    }
    part.registerVirtualNode(URIBuilder.appendVnSuffix(virtualnodeName), replacePreviousBinding);
}
 
Example 19
Project: proactive-component-monitoring   File: NodeFactory.java   View source code 6 votes vote down vote up
/** Creates a new node on the local ProActive runtime.
 * 
 * @param nodeName 
 * 			name of the node to create. It musts comply to the following regular expression: "[a-zA-Z0-9_-]+"
 * @param replacePreviousBinding
 * 			Should an already existing node with the same name be replaced or not			
 * @param psm
 * 			A {@link ProActiveSecurityManager} or null
 * @param vnname
 * 			A Virtual Node name or null
 * @return  the newly created node on the local JVM
 * @exception NodeException 
 * 			if the node cannot be created or if the nodeName is invalid
 */
public static Node createLocalNode(String nodeName, boolean replacePreviousBinding,
        ProActiveSecurityManager psm, String vnname) throws NodeException, AlreadyBoundException {
    ProActiveRuntime proActiveRuntime;

    // Throws an Exception is the name is invalid
    checkNodeName(nodeName);

    if (logger.isDebugEnabled()) {
        logger.debug("NodeFactory: createNode(" + nodeName + ")");
    }

    if (vnname == null) {
        vnname = DEFAULT_VIRTUAL_NODE_NAME;
    }

    //NodeFactory factory = getFactory(protocol);
    //then create a node
    try {
        proActiveRuntime = RuntimeFactory.getDefaultRuntime();
        return proActiveRuntime.createLocalNode(nodeName, replacePreviousBinding, psm, vnname);
    } catch (Exception e) {
        throw new NodeException("Failed to create a local node. name=" + nodeName, e);
    }
}
 
Example 20
Project: BaRMIe   File: IllegalRegistryBind.java   View source code 5 votes vote down vote up
/*******************
 * Check if the given endpoint can be attacked.
 * 
 * This check is performed by executing a dummy attack against the
 * endpoint and observing the resulting exception.
 * 
 * @param ep An enumerated RMI endpoint.
 * @return True if we can attack it.
 ******************/
public boolean canAttackEndpoint(RMIEndpoint ep) {
	RMIBindExploitProxy proxy = null;
	Registry reg;
	
	//Execute a dummy attack
	try {
		//Start a bind exploit proxy
		proxy = new RMIBindExploitProxy(InetAddress.getByName(ep.getEndpoint().getHost()), ep.getEndpoint().getPort(), this._options, this._dummyPayload);
		proxy.startProxy();
		
		//Get a proxied RMI registry reference
		reg = LocateRegistry.getRegistry(proxy.getServerListenAddress().getHostAddress(), proxy.getServerListenPort());
		
		//Bind a dummy object in an attempt to trigger the vulnerability
		reg.bind(this.generateRandomString(), new BaRMIeBindExploit());
	} catch(BaRMIeException | UnknownHostException | RemoteException | AlreadyBoundException ex) {
		//An up to date RMI registry will, by default, reject the dummy object
		if(ex instanceof ServerException && ex.getCause() != null && ex.getCause() instanceof UnmarshalException && ex.getCause().getCause() != null && ex.getCause().getCause() instanceof InvalidClassException) {
			//Check for "filter status: REJECTED"
			if(ex.getCause().getCause().toString().contains("filter status: REJECTED")) {
				//Test payload was filtered, likely this attack isn't possible
				return false;
			}
		}
	} finally {
		//Stop the proxy
		if(proxy != null) {
			proxy.stopProxy(true);
		}
	}
	
	//In all other cases we should be able to attack the registry
	return true;
}
 
Example 21
Project: OpenJSharp   File: Activation.java   View source code 5 votes vote down vote up
public void bind(String name, Remote obj)
    throws RemoteException, AlreadyBoundException, AccessException
{
    if (name.equals(NAME)) {
        throw new AccessException(
            "binding ActivationSystem is disallowed");
    } else {
        super.bind(name, obj);
    }
}
 
Example 22
Project: jdk8u-jdk   File: Activation.java   View source code 5 votes vote down vote up
public void bind(String name, Remote obj)
    throws RemoteException, AlreadyBoundException, AccessException
{
    if (name.equals(NAME)) {
        throw new AccessException(
            "binding ActivationSystem is disallowed");
    } else {
        super.bind(name, obj);
    }
}
 
Example 23
Project: jdk8u-jdk   File: RegistryFilterTest.java   View source code 5 votes vote down vote up
@Test(dataProvider="bindData")
public void simpleBind(String name, Remote obj, boolean blacklisted) throws RemoteException, AlreadyBoundException, NotBoundException {
    try {
        registry.bind(name, obj);
        Assert.assertFalse(blacklisted, "Registry filter did not reject (but should have) ");
        registry.unbind(name);
    } catch (Exception rex) {
        Assert.assertTrue(blacklisted, "Registry filter should not have rejected");
    }
}
 
Example 24
Project: jdk8u-jdk   File: RegistryFilterTest.java   View source code 5 votes vote down vote up
@Test
public void simpleRejectableClass() throws RemoteException, AlreadyBoundException, NotBoundException {
    RejectableClass r1 = null;
    try {
        String name = "reject1";
        r1 = new RejectableClass();
        registry.bind(name, r1);
        registry.unbind(name);
        Assert.assertNull(registryFilter, "Registry filter should not have rejected");
    } catch (Exception rex) {
        Assert.assertNotNull(registryFilter, "Registry filter should have rejected");
    }
}
 
Example 25
Project: openjdk-jdk10   File: Activation.java   View source code 5 votes vote down vote up
public void bind(String name, Remote obj)
    throws RemoteException, AlreadyBoundException, AccessException
{
    if (name.equals(NAME)) {
        throw new AccessException(
            "binding ActivationSystem is disallowed");
    } else {
        RegistryImpl.checkAccess("ActivationSystem.bind");
        super.bind(name, obj);
    }
}
 
Example 26
Project: openjdk-jdk10   File: RegistryFilterTest.java   View source code 5 votes vote down vote up
@Test(dataProvider="bindData")
public void simpleBind(String name, Remote obj, boolean blacklisted) throws RemoteException, AlreadyBoundException, NotBoundException {
    try {
        registry.bind(name, obj);
        Assert.assertFalse(blacklisted, "Registry filter did not reject (but should have) ");
        registry.unbind(name);
    } catch (Exception rex) {
        Assert.assertTrue(blacklisted, "Registry filter should not have rejected");
    }
}
 
Example 27
Project: openjdk-jdk10   File: RegistryFilterTest.java   View source code 5 votes vote down vote up
@Test
public void simpleRejectableClass() throws RemoteException, AlreadyBoundException, NotBoundException {
    RejectableClass r1 = null;
    try {
        String name = "reject1";
        r1 = new RejectableClass();
        registry.bind(name, r1);
        registry.unbind(name);
        Assert.assertNull(registryFilter, "Registry filter should have rejected");
    } catch (Exception rex) {
        Assert.assertNotNull(registryFilter, "Registry filter should not have rejected");
    }
}
 
Example 28
Project: openjdk-jdk10   File: RegistryFilterTest.java   View source code 5 votes vote down vote up
@Test
public void simpleDepthBuiltinNonRejectable() throws RemoteException, AlreadyBoundException, NotBoundException {
    int depthOverride = Integer.getInteger("test.maxdepth", REGISTRY_MAX_DEPTH);
    depthOverride = Math.min(depthOverride, REGISTRY_MAX_DEPTH);
    System.out.printf("overrideDepth: %d, filter: %s%n", depthOverride, registryFilter);
    try {
        String name = "reject2";
        DepthRejectableClass r1 = DepthRejectableClass.create(depthOverride);
        registry.bind(name, r1);
        registry.unbind(name);
    } catch (Exception rex) {
        Assert.fail("Registry filter should not have rejected depth: "
                        + depthOverride);
    }
}
 
Example 29
Project: openjdk-jdk10   File: RegistryFilterTest.java   View source code 5 votes vote down vote up
@Test
public void simpleDepthRejectable() throws RemoteException, AlreadyBoundException, NotBoundException {
    int depthOverride = Integer.getInteger("test.maxdepth", REGISTRY_MAX_DEPTH);
    depthOverride = Math.min(depthOverride, REGISTRY_MAX_DEPTH);
    System.out.printf("overrideDepth: %d, filter: %s%n", depthOverride, registryFilter);
    try {
        String name = "reject3";
        DepthRejectableClass r1 = DepthRejectableClass.create(depthOverride + 1);
        registry.bind(name, r1);
        Assert.fail("Registry filter should have rejected depth: " + depthOverride + 1);
    } catch (Exception rex) {
        // Rejection expected
    }
}
 
Example 30
Project: openNaEF   File: DistributedTransactionService.java   View source code 5 votes vote down vote up
Impl(int port, String serviceName, String[] acceptableTefServiceIds)
        throws RemoteException, AlreadyBoundException {
    synchronized (Impl.class) {
        if (instance__ != null) {
            throw new IllegalStateException();
        } else {
            instance__ = this;
        }
    }

    Logs logs = new Logs(System.currentTimeMillis(), new File("."), "logs");
    transactionCoordinationLogger_ = logs.createLogger("distributed-transactions");

    tefServices_ = new HashMap<String, TefServiceProxy>();
    for (String acceptableTefServiceId : acceptableTefServiceIds) {
        tefServices_.put(acceptableTefServiceId, null);
    }

    tefServiceIndexes_ = new HashMap<String, Integer>();
    for (int i = 0; i < acceptableTefServiceIds.length; i++) {
        tefServiceIndexes_.put(acceptableTefServiceIds[i], new Integer(i));
    }

    try {
        history_
                = restoreTxHistory(transactionCoordinationLogger_.getFile().getParentFile());
    } catch (IOException ioe) {
        throw new RuntimeException(ioe);
    }

    System.out.println("restored: " + history_.size());
    System.gc();
    long memoryUsage
            = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory();
    System.out.println("memory: " + NumberFormat.getInstance().format(memoryUsage));

    Registry registry = LocateRegistry.createRegistry(port);
    registry.bind(serviceName, this);
}
 
Example 31
Project: openjdk9   File: Activation.java   View source code 5 votes vote down vote up
public void bind(String name, Remote obj)
    throws RemoteException, AlreadyBoundException, AccessException
{
    if (name.equals(NAME)) {
        throw new AccessException(
            "binding ActivationSystem is disallowed");
    } else {
        super.bind(name, obj);
    }
}
 
Example 32
Project: topicrawler   File: AbstractStringProvider.java   View source code 5 votes vote down vote up
public Registry publish(Registry registry, String identifier, int port) throws RemoteException, AccessException, AlreadyBoundException {
	final StringProviderMXBean stub = (StringProviderMXBean) UnicastRemoteObject.exportObject(this, port);
	// RemoteServer.setLog(System.out);
	// Bind the remote object's stub in the registry
	registry.bind(identifier, stub);
	LOG.info("Stringprovider service '{}' published on port {}.", identifier, port);
	return registry;
}
 
Example 33
Project: topicrawler   File: LanguageModelServer.java   View source code 5 votes vote down vote up
public void publish(Registry registry, String identifier, int port) throws RemoteException, AlreadyBoundException {
	LOG.info("Trying to publish Language model service '{}' on port {}.", identifier, port);
	@SuppressWarnings("unchecked")
	final LanguageModelServerMBean<String> stub = (LanguageModelServerMBean<String>) UnicastRemoteObject.exportObject(this, port);
	// RemoteServer.setLog(System.out);
	// Bind the remote object's stub in the registry
	registry.bind(identifier, stub);
	LOG.info("Language model service '{}' published on port {}.", identifier, port);
}
 
Example 34
Project: CanReg5   File: ServerLauncher.java   View source code 5 votes vote down vote up
/**
 * 
 * @param args
 */
public static void main(String[] args) {
    try {
        if (args.length >= 1) {
            start("localhost", args[0], 1199);
        }
    } catch (AlreadyBoundException ex) {
        Logger.getLogger(ServerLauncher.class.getName()).log(Level.SEVERE, null, ex);
    }
}
 
Example 35
Project: jas   File: AbsActorRef.java   View source code 5 votes vote down vote up
/**
 * Public constructor, in case of an {@code ActorRef} of type
 * {@code ActorMode.REMOTE} bind the name to the RMI registry.
 */
public AbsActorRef(ActorSystem system, ActorMode mode, String name) throws RemoteException {
    super();
    this.system = (AbsActorSystem) system;
    this.name = name;
    this.originalSender = this;
    if (this.system.getSystemMode() == SystemMode.CLUSTER) {
        try {
            Naming.bind("rmi://" + name, this);
        } catch (AlreadyBoundException | MalformedURLException e) {
            e.printStackTrace();
        }
    }
}
 
Example 36
Project: gemfirexd-oss   File: DUnitLauncher.java   View source code 5 votes vote down vote up
private static void launch() throws URISyntaxException, AlreadyBoundException, IOException, InterruptedException, NotBoundException  {
//    initialize the log writer that hydra uses
    LogWriter log = Log.createLogWriter( "dunit-master", LOG_LEVEL );

    locatorPort = AvailablePortHelper.getRandomAvailableTCPPort();
     
    //create an RMI registry and add an object to share our tests config
    int namingPort = AvailablePortHelper.getRandomAvailableTCPPort();
    Registry registry = LocateRegistry.createRegistry(namingPort);
    Master master = new Master();
    registry.bind(MASTER_PARAM, master);

    final ProcessManager processManager = new ProcessManager(NUM_VMS + 1, namingPort);

    Runtime.getRuntime().addShutdownHook(new Thread() {
      public void run() {
        processManager.killVMs();
      }
    });
    
    //launch the remote VMS
    processManager.launchVMs();
    
    //wait for the VMS to start up
    if(!master.waitForVMs(STARTUP_TIMEOUT)) {
      throw new RuntimeException("VMs did not start up with 30 seconds");
    }
    
    //populate the Host class with our stubs. The tests use this host class
    EclipseDUnitHost host = new EclipseDUnitHost(InetAddress.getLocalHost().getCanonicalHostName(), NUM_VMS);
    host.init(registry);

    initSystemProperties(log);
    
    startLocator(registry);
  }
 
Example 37
Project: jdk8u_jdk   File: Activation.java   View source code 5 votes vote down vote up
public void bind(String name, Remote obj)
    throws RemoteException, AlreadyBoundException, AccessException
{
    if (name.equals(NAME)) {
        throw new AccessException(
            "binding ActivationSystem is disallowed");
    } else {
        super.bind(name, obj);
    }
}
 
Example 38
Project: jdk8u_jdk   File: RegistryFilterTest.java   View source code 5 votes vote down vote up
@Test(dataProvider="bindData")
public void simpleBind(String name, Remote obj, boolean blacklisted) throws RemoteException, AlreadyBoundException, NotBoundException {
    try {
        registry.bind(name, obj);
        Assert.assertFalse(blacklisted, "Registry filter did not reject (but should have) ");
        registry.unbind(name);
    } catch (Exception rex) {
        Assert.assertTrue(blacklisted, "Registry filter should not have rejected");
    }
}
 
Example 39
Project: jdk8u_jdk   File: RegistryFilterTest.java   View source code 5 votes vote down vote up
@Test
public void simpleRejectableClass() throws RemoteException, AlreadyBoundException, NotBoundException {
    RejectableClass r1 = null;
    try {
        String name = "reject1";
        r1 = new RejectableClass();
        registry.bind(name, r1);
        registry.unbind(name);
        Assert.assertNull(registryFilter, "Registry filter should not have rejected");
    } catch (Exception rex) {
        Assert.assertNotNull(registryFilter, "Registry filter should have rejected");
    }
}
 
Example 40
Project: SilverKing   File: DHTRingMaster.java   View source code 5 votes vote down vote up
public DHTRingMaster(ZooKeeperConfig zkConfig, String dhtName, 
                      long intervalMillis, Mode mode, boolean enableLogging) throws IOException, KeeperException, AlreadyBoundException {
    mc = new MetaClient(dhtName, zkConfig);
    convergenceControllers = new ConcurrentHashMap<>();
    this.intervalMillis = intervalMillis;
    this.mode = mode;
    mp = mc.getMetaPaths();
    this.zkConfig = zkConfig;
    convergenceLock = new ReentrantLock();
    /*
     * The below VersionWatcher watches the DHTConfiguration for changes. Whenever a new DHTConfiguration
     * is observed, a new RingConfigWatcher is started.
     */
    dhtConfigWatcher = new DHTConfigurationWatcher(zkConfig, dhtName, intervalMillis, enableLogging);
    this.enableLogging = enableLogging;
    
    dhtRingCurTargetZK = new DHTRingCurTargetZK(mc, dhtConfig);
    
    ringChangedWorker = new RingChangedWorker();
    recoverDataWorker = new RecoverDataWorker();
    
    dhtMetaReader = new DHTMetaReader(zkConfig, dhtName, enableLogging);
    
    mgBase = new MessageGroupBase(mgBasePort, this, SystemTimeUtil.systemTimeSource, null, 
    							  queueLimit, numSelectorControllers, selectorControllerClass);
    mode = Mode.Automatic;
    new RingMasterControlImpl(this);
}