Running Tomcat causes java.rmi.ServerException in the unrelated project -


i have java non-web application programmatically starts jetty server give api access it. communication between them done via rmi. works fine until start tomcat has no relation project. if tomcat running, getting following exception while trying start application:

java.rmi.serverexception: remoteexception occurred in server thread; nested exception is:     java.rmi.unmarshalexception: error unmarshalling arguments; nested exception is:     java.lang.classnotfoundexception: ua.cn.stu.datalink.rmi.acmremoteservice (no security manager: rmi class loader disabled)     @ sun.rmi.server.unicastserverref.olddispatch(unicastserverref.java:420)     @ sun.rmi.server.unicastserverref.dispatch(unicastserverref.java:268)     @ sun.rmi.transport.transport$1.run(transport.java:200)     @ sun.rmi.transport.transport$1.run(transport.java:197)     @ java.security.accesscontroller.doprivileged(native method)     @ sun.rmi.transport.transport.servicecall(transport.java:196)     @ sun.rmi.transport.tcp.tcptransport.handlemessages(tcptransport.java:568)     @ sun.rmi.transport.tcp.tcptransport$connectionhandler.run0(tcptransport.java:826)     @ sun.rmi.transport.tcp.tcptransport$connectionhandler.lambda$run$254(tcptransport.java:683)     @ sun.rmi.transport.tcp.tcptransport$connectionhandler$$lambda$1/351702438.run(unknown source)     @ java.security.accesscontroller.doprivileged(native method)     @ sun.rmi.transport.tcp.tcptransport$connectionhandler.run(tcptransport.java:682)     @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1142)     @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:617)     @ java.lang.thread.run(thread.java:745)     @ sun.rmi.transport.streamremotecall.exceptionreceivedfromserver(streamremotecall.java:276)     @ sun.rmi.transport.streamremotecall.executecall(streamremotecall.java:253)     @ sun.rmi.server.unicastref.invoke(unicastref.java:379)     @ sun.rmi.registry.registryimpl_stub.rebind(unknown source)     @ ua.cn.stu.datalink.acmserver.rmi.acmremoteserviceimpl.main(acmremoteserviceimpl.java:107)     @ ua.cn.stu.datalink.acmserver.rmi.acmremoteserviceimpl$2.run(acmremoteserviceimpl.java:138)     @ java.lang.thread.run(thread.java:745) caused by: java.rmi.unmarshalexception: error unmarshalling arguments; nested exception is:     java.lang.classnotfoundexception: ua.cn.stu.datalink.rmi.acmremoteservice (no security manager: rmi class loader disabled)     @ sun.rmi.registry.registryimpl_skel.dispatch(unknown source)     @ sun.rmi.server.unicastserverref.olddispatch(unicastserverref.java:410)     @ sun.rmi.server.unicastserverref.dispatch(unicastserverref.java:268)     @ sun.rmi.transport.transport$1.run(transport.java:200)     @ sun.rmi.transport.transport$1.run(transport.java:197)     @ java.security.accesscontroller.doprivileged(native method)     @ sun.rmi.transport.transport.servicecall(transport.java:196)     @ sun.rmi.transport.tcp.tcptransport.handlemessages(tcptransport.java:568)     @ sun.rmi.transport.tcp.tcptransport$connectionhandler.run0(tcptransport.java:826)     @ sun.rmi.transport.tcp.tcptransport$connectionhandler.lambda$run$254(tcptransport.java:683)     @ sun.rmi.transport.tcp.tcptransport$connectionhandler$$lambda$1/351702438.run(unknown source)     @ java.security.accesscontroller.doprivileged(native method)     @ sun.rmi.transport.tcp.tcptransport$connectionhandler.run(tcptransport.java:682)     @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1142)     @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:617)     ... 1 more caused by: java.lang.classnotfoundexception: ua.cn.stu.datalink.rmi.acmremoteservice (no security manager: rmi class loader disabled)     @ sun.rmi.server.loaderhandler.loadproxyclass(loaderhandler.java:556)     @ java.rmi.server.rmiclassloader$2.loadproxyclass(rmiclassloader.java:646)     @ java.rmi.server.rmiclassloader.loadproxyclass(rmiclassloader.java:311)     @ sun.rmi.server.marshalinputstream.resolveproxyclass(marshalinputstream.java:255)     @ java.io.objectinputstream.readproxydesc(objectinputstream.java:1559)     @ java.io.objectinputstream.readclassdesc(objectinputstream.java:1515)     @ java.io.objectinputstream.readordinaryobject(objectinputstream.java:1774)     @ java.io.objectinputstream.readobject0(objectinputstream.java:1351)     @ java.io.objectinputstream.readobject(objectinputstream.java:371)     ... 16 more 

it seems problem lies here - ua.cn.stu.datalink.rmi.acmremoteservice (no security manager: rmi class loader disabled)

but why starting tomcat disables rmi class loader?

you must conditionally starting registry, doesn't start if 1 running anyway, , tomcat starting own. when bind, you're binding tomcat's registry, doesn't have class available, fails.


Comments

Popular posts from this blog

python - pip install -U PySide error -

arrays - C++ error: a brace-enclosed initializer is not allowed here before ‘{’ token -

cytoscape.js - How to add nodes to Dagre layout with Cytoscape -