ObjectWeb Consortium
Search ObjectWeb Mail Archive: 

Advanced Search - Powered by Google


Mail Archive Home | proactive List | November 2005 Index

<--  Date Index  --> <--  Thread Index  -->

Re: [proactive] java.rmi.AlreadyBoundException on windows


Hi Jhon,

When you create your active objects, parallel threads are launched to get random names.
If your computer running on window is not enough powerfull, there is a high probability to have the same name for 2 differents objects.
BUT when you activate these objects, their stub's references are returned, and these references are unique. That's why your application still running even if you have this "AlreadyBoundException".
So you can work with your active objects despite having this exception.

We will improve the random generation of numbers is the next version of ProActive.

Cheers,
Marc


john.mansour@xxxxxxxxxxxxx wrote:
Hi,

I started using ProActive earlier this week to test for performance improvements when distributing calculations among several jvms on a server.

I have succesfully run the applications deploying several ways; however when I use the following deployment descriptor

<?xml version="1.0" encoding="UTF-8"?>
<ProActiveDescriptor xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="D:\DescriptorSchema.xsd">
  <componentDefinition>
    <virtualNodesDefinition>
      <virtualNode name="MyAO"/>
    </virtualNodesDefinition>
  </componentDefinition>
  <deployment>
    <mapping>
      <map virtualNode="MyAO">
        <jvmSet>
          <vmName value="VM_1"/>
          <vmName value="VM_2"/>
          <vmName value="VM_3"/>
          <vmName value="VM_4"/>
        </jvmSet>
      </map>
    </mapping>
    <jvms>
      <jvm name="VM_1"><creation><processReference refid="local_jvm"/></creation></jvm>
      <jvm name="VM_2"><creation><processReference refid="local_jvm"/></creation></jvm>
      <jvm name="VM_3"><creation><processReference refid="local_jvm"/></creation></jvm>
      <jvm name="VM_4"><creation><processReference refid="local_jvm"/></creation></jvm>
    </jvms>
  </deployment>
  <infrastructure>
    <processes>
      <processDefinition id="local_jvm">
        <jvmProcess class="org.objectweb.proactive.core.process.JVMNodeProcess"/>
      </processDefinition>
    </processes>
  </infrastructure>
</ProActiveDescriptor>

with this code to activate my Active objects

MyAO ao1 = null;
MyAO ao2 = null;
MyAO ao3 = null;
MyAO ao4 = null;
MyAO aoAG = null;
org.objectweb.proactive.core.group.Group ag = null;
org.objectweb.proactive.core.descriptor.data.ProActiveDescriptor pad = null;
org.objectweb.proactive.core.descriptor.data.VirtualNode vn = null;
org.objectweb.proactive.core.node.Node[] nodes = null;

pad = org.objectweb.proactive.ProActive.getProactiveDescriptor("file:D:/descriptor_1vnode.xml");
pad.activateMappings();
vn = pad.getVirtualNode("MyAO");
//vn.activate();
nodes = vn.getNodes();
ao1 = (MyAO)org.objectweb.proactive.ProActive.newActive(MyAO.class.getName(), null, nodes[0]);
ao2 = (MyAO)org.objectweb.proactive.ProActive.newActive(MyAO.class.getName(), null, nodes[1]);
ao3 = (MyAO)org.objectweb.proactive.ProActive.newActive(MyAO.class.getName(), null, nodes[2]);
ao4 = (MyAO)org.objectweb.proactive.ProActive.newActive(MyAO.class.getName(), null, nodes[3]);

I get the following output with the java.rmi.AlreadyBoundException exceptions (though the code runs correctly)
 --> This ClassFileServer is reading resources from classpath
Created a new registry on port 1099
ProActive Security Policy (proactive.runtime.security) not set. Runtime Security disabled 
************* Reading deployment descriptor: file:D:/dev/FeatureSimulator/adsim_descriptor_1vnode.xml ********************
created VirtualNode name=MyAO
**** Starting jvm on SCHCOE.us.org
**** Starting jvm on SCHCOE.us.org
**** Starting jvm on SCHCOE.us.org
**** Starting jvm on SCHCOE.us.org
ProActive Security Policy (proactive.runtime.security) not set. Runtime Security disabled 
ProActive Security Policy (proactive.runtime.security) not set. Runtime Security disabled 
ProActive Security Policy (proactive.runtime.security) not set. Runtime Security disabled 
 --> This ClassFileServer is reading resources from classpath
ProActive Security Policy (proactive.runtime.security) not set. Runtime Security disabled 
 --> This ClassFileServer is reading resources from classpath
 --> This ClassFileServer is reading resources from classpath
 --> This ClassFileServer is reading resources from classpath
Detected an existing RMI Registry on port 1099
Detected an existing RMI Registry on port 1099
Detected an existing RMI Registry on port 1099
Detected an existing RMI Registry on port 1099
//SCHCOE.us.org/MyAO-430421646 successfully bound in registry at //SCHCOE.us.org/MyAO-430421646
**** Mapping VirtualNode MyAO with Node: //SCHCOE.us.org/MyAO-430421646 done
//SCHCOE.us.org/MyAO-442348862 successfully bound in registry at //SCHCOE.us.org/MyAO-442348862
**** Mapping VirtualNode MyAO with Node: //SCHCOE.us.org/MyAO-442348862 done
WARNING //SCHCOE.us.org/PA_JVM-378480545_SCHCOE.us.org already bound in registry
WARNING //SCHCOE.us.org/PA_JVM-378480545_SCHCOE.us.org already bound in registry
java.rmi.AlreadyBoundException: PA_JVM-378480545_SCHCOE.us.org
        at sun.rmi.registry.RegistryImpl.bind(RegistryImpl.java:123)
        at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source)
        at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:342)
        at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:207)
        at sun.rmi.transport.Transport$1.run(Transport.java:148)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
java.rmi.AlreadyBoundException: PA_JVM-378480545_SCHCOE.us.org
        at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
        at sun.rmi.registry.RegistryImpl.bind(RegistryImpl.java:123)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
        at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source)
        at java.lang.Thread.run(Thread.java:534)
        at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:342)
        at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247)
        at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:207)
        at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223)
**** Mapping VirtualNode MyAO with Node: //SCHCOE.us.org/MyAO-467742290 done
        at sun.rmi.transport.Transport$1.run(Transport.java:148)
        at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:350)
        at sun.rmi.registry.RegistryImpl_Stub.bind(Unknown Source)
        at java.rmi.Naming.bind(Naming.java:111)
        at org.objectweb.proactive.core.runtime.rmi.RmiProActiveRuntimeImpl.register(RmiProActiveRuntimeImpl.java:394)
        at java.security.AccessController.doPrivileged(Native Method)
**** Mapping VirtualNode MyAO with Node: //SCHCOE.us.org/MyAO-816324793 done
        at org.objectweb.proactive.core.runtime.rmi.RmiProActiveRuntimeImpl.construct(RmiProActiveRuntimeImpl.java:110)
        at org.objectweb.proactive.core.runtime.rmi.RmiProActiveRuntimeImpl.<init>(RmiProActiveRuntimeImpl.java:116)
        at org.objectweb.proactive.core.runtime.rmi.RmiRuntimeFactory.createRuntimeAdapter(RmiRuntimeFactory.java:135)
        at org.objectweb.proactive.core.runtime.rmi.RmiRuntimeFactory.getProtocolSpecificRuntimeImpl(RmiRuntimeFactory.java:106)
        at org.objectweb.proactive.core.runtime.RuntimeFactory.getProtocolSpecificRuntime(RuntimeFactory.java:176)
        at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
Generating class : pa.stub.com.vnu.analytics.featuresimulator.server.Stub_MyAO
        at org.objectweb.proactive.core.runtime.StartRuntime.register(StartRuntime.java:163)
        at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
        at java.lang.Thread.run(Thread.java:534)
        at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247)
        at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223)
        at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:350)
        at sun.rmi.registry.RegistryImpl_Stub.bind(Unknown Source)
        at org.objectweb.proactive.core.runtime.StartRuntime.run(StartRuntime.java:146)
        at java.rmi.Naming.bind(Naming.java:111)
        at org.objectweb.proactive.core.runtime.StartRuntime.main(StartRuntime.java:129)
        at org.objectweb.proactive.core.runtime.rmi.RmiProActiveRuntimeImpl.register(RmiProActiveRuntimeImpl.java:394)
        at org.objectweb.proactive.core.runtime.rmi.RmiProActiveRuntimeImpl.construct(RmiProActiveRuntimeImpl.java:110)
//SCHCOE.us.org/MyAO-816324793 successfully bound in registry at //SCHCOE.us.org/MyAO-816324793
        at org.objectweb.proactive.core.runtime.rmi.RmiProActiveRuntimeImpl.<init>(RmiProActiveRuntimeImpl.java:116)
        at org.objectweb.proactive.core.runtime.rmi.RmiRuntimeFactory.createRuntimeAdapter(RmiRuntimeFactory.java:135)
        at org.objectweb.proactive.core.runtime.rmi.RmiRuntimeFactory.getProtocolSpecificRuntimeImpl(RmiRuntimeFactory.java:106)
        at org.objectweb.proactive.core.runtime.RuntimeFactory.getProtocolSpecificRuntime(RuntimeFactory.java:176)
        at org.objectweb.proactive.core.runtime.StartRuntime.register(StartRuntime.java:163)
        at org.objectweb.proactive.core.runtime.StartRuntime.run(StartRuntime.java:146)
        at org.objectweb.proactive.core.runtime.StartRuntime.main(StartRuntime.java:129)
//SCHCOE.us.org/MyAO-467742290 successfully bound in registry at //SCHCOE.us.org/MyAO-467742290
  Done cloning data - Thu Nov 10 23:31:00 CST 2005
Generating class : pa.stub.com.vnu.analytics.featuresimulator.server.Stub_AOResults
//SCHCOE.us.org/MyAO-430421646 unbound in registry
Process finished Thread=IN -> D:\opt\j2sdk1.4.2_08
Process finished Thread=ERR -> D:\opt\j2sdk1.4.2_08
 Virtual Machine 545cafd715890694:18fb1f7:1077dce01e1:-8000 on host SCHCOE.us.org terminated!!!
//SCHCOE.us.org/MyAO-442348862 unbound in registry
Process finished Thread=IN -> D:\opt\j2sdk1.4.2_08
Process finished Thread=ERR -> D:\opt\j2sdk1.4.2_08
 Virtual Machine 545cafd715890694:18fb1f7:1077dce0201:-8000 on host SCHCOE.us.org terminated!!!
//SCHCOE.us.org/MyAO-467742290 unbound in registry
WARNING //SCHCOE.us.org/PA_JVM-378480545_SCHCOE.us.org is not bound in the registry 
Process finished Thread=ERR -> D:\opt\j2sdk1.4.2_08
Process finished Thread=IN -> D:\opt\j2sdk1.4.2_08
 Virtual Machine 545cafd715890694:18fb1f7:1077dce0201:-8000 on host SCHCOE.us.org terminated!!!
//SCHCOE.us.org/MyAO-816324793 unbound in registry
WARNING //SCHCOE.us.org/PA_JVM-378480545_SCHCOE.us.org is not bound in the registry 
Process finished Thread=ERR -> D:\opt\j2sdk1.4.2_08
Process finished Thread=IN -> D:\opt\j2sdk1.4.2_08
 Virtual Machine 545cafd715890694:18fb1f7:1077dce0201:-8000 on host SCHCOE.us.org terminated!!!

Is there something I am doing wrong with the deployemnt descriptor or code that is causing these exceptions.

Thanks for any help or suggestions,
John

  




<--  Date Index  --> <--  Thread Index  -->

Reply via email to:

Powered by MHonArc.

Copyright © 1999-2005, ObjectWeb Consortium | contact | webmaster.