I've made the change to the way rmiregistry is started to:
Code: Select all
$JAVA_PATH/rmiregistry -J-Djava.rmi.server.useCodebaseOnly=false $RMI_REG_PORT &
I can see the rmi service start without errors, I can see rmi listening in on port 1099 and I can telnet to rmi on port 1099.
Yes we are using the same jvm
I downloaded and used the Protege without a bundled JVM.
Looking at the "Server port = 0, registry port = 1099, compressed stream" line from the output below, I think (could you confirm?) that Protege is communicating with rmi is it not ?
Latest output from run_protege_server script:
Code: Select all
./run_protege_server.sh
Protege server is starting...
Protege 3.5 Build 663, JVM 1.7.0_55-mockbuild_2014_04_16_12_11-b00, memory=506M, Linux, encoding=UTF-8, language=en, country=US
Server port = 0, registry port = 1099, compressed stream
Using metaproject from: file:/opt/Protege_3.5/essential-server/metaproject.pprj
Server.getAvailableProjectNames()
Loading project Essential AM Repository from file:/EssentialAM/Repository/essential_metamodel/essential_baseline_v4.3.1.pprj
Loaded 5000 instances: essential_baseline_v1.2_ProjectKB_Class1851
Loaded 6000 instances: essential_baseline_v1.2_ProjectKB_Class19560
Loaded 7000 instances: essential_baseline_v3.0.4_ProjectKB_Class15367
Loaded 8000 instances: essential_baseline_v1_ProjectKB_Instance_21327
.... <A load of stuff loaded here >
Loaded 85000 instances: viewer3_devrep_14032012_003_ProjectKB_Class11984
Loading project plugins for project Essential AM Repository
WARNING: Could not find the ChAO KB. -- ChangesProject.initialize()
SEVERE: java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.lang.ClassNotFoundException: edu.stanford.smi.protege.server.Server_Stub
at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:419)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:267)
at sun.rmi.transport.Transport$1.run(Transport.java:177)
at sun.rmi.transport.Transport$1.run(Transport.java:174)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:173)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:275)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:252)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:378)
at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source)
at edu.stanford.smi.protege.server.Server.bindName(Unknown Source)
at edu.stanford.smi.protege.server.Server.startServer(Unknown Source)
at edu.stanford.smi.protege.server.Server.main(Unknown Source)
Caused by: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.lang.ClassNotFoundException: edu.stanford.smi.protege.server.Server_Stub
at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source)
Thank you,
Charlie