PDA

View Full Version : Problem: Binding RMI service to registry



Fito10
Jul 6th, 2005, 06:47 AM
I like to bind my RMI-Service to a rmiregistry. The rmiregistry is running on port 1299. If I try to bind the service, using the RmiServiceExporter I get the following Error:

INFO - RmiServiceExporter.afterPropertiesSet(217) | Binding RMI service 'vas' to registry at port '1299'
org.springframework.beans.factory.BeanCreationExce ption: Error creating bean with name 'vasService' defined in class path resource [test/applicationContext.xml]: Initialization of bean failed; nested exception is java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.lang.ClassNotFoundException: org.springframework.remoting.rmi.RmiInvocationWrap per_Stub
java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.lang.ClassNotFoundException: org.springframework.remoting.rmi.RmiInvocationWrap per_Stub
at sun.rmi.server.UnicastServerRef.oldDispatch(Unicas tServerRef.java:352)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastSe rverRef.java:207)
at sun.rmi.transport.Transport$1.run(Transport.java:1 48)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport. java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages( TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandl er.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:534)
at sun.rmi.transport.StreamRemoteCall.exceptionReceiv edFromServer(StreamRemoteCall.java:247)
at sun.rmi.transport.StreamRemoteCall.executeCall(Str eamRemoteCall.java:223)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:3 50)
at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source)
at org.springframework.remoting.rmi.RmiServiceExporte r.afterPropertiesSet(RmiServiceExporter.java:227)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.invokeInitMethods(Abstr actAutowireCapableBeanFactory.java:962)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.createBean(AbstractAuto wireCapableBeanFactory.java:354)
at org.springframework.beans.factory.support.Abstract BeanFactory.getBean(AbstractBeanFactory.java:223)
at org.springframework.beans.factory.support.Abstract BeanFactory.getBean(AbstractBeanFactory.java:147)
at org.springframework.beans.factory.support.DefaultL istableBeanFactory.preInstantiateSingletons(Defaul tListableBeanFactory.java:277)
at org.springframework.context.support.AbstractApplic ationContext.refresh(AbstractApplicationContext.ja va:312)
at org.springframework.context.support.ClassPathXmlAp plicationContext.<init>(ClassPathXmlApplicationContext.java:80)
at org.springframework.context.support.ClassPathXmlAp plicationContext.<init>(ClassPathXmlApplicationContext.java:65)
at test.Testklasse.fourthTest(Testklasse.java:50)INFO - AbstractBeanFactory.destroySingletons(525) | Destroying singletons in factory {org.springframework.beans.factory.support.Default ListableBeanFactory defining beans [VAS,vasService]; root of BeanFactory hierarchy}

at test.Testklasse.main(Testklasse.java:80)
Caused by: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.lang.ClassNotFoundException: org.springframework.remoting.rmi.RmiInvocationWrap per_Stub
at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknow n Source)
at sun.rmi.server.UnicastServerRef.oldDispatch(Unicas tServerRef.java:342)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastSe rverRef.java:207)
at sun.rmi.transport.Transport$1.run(Transport.java:1 48)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport. java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages( TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandl er.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:534)
Caused by: java.lang.ClassNotFoundException: org.springframework.remoting.rmi.RmiInvocationWrap per_Stub
at java.net.URLClassLoader$1.run(URLClassLoader.java: 199)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.j ava:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:2 89)
at java.lang.ClassLoader.loadClass(ClassLoader.java:2 35)
at java.lang.ClassLoader.loadClassInternal(ClassLoade r.java:302)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:219)
at sun.rmi.server.LoaderHandler.loadClass(LoaderHandl er.java:430)
at sun.rmi.server.LoaderHandler.loadClass(LoaderHandl er.java:165)
at java.rmi.server.RMIClassLoader$2.loadClass(RMIClas sLoader.java:631)
at java.rmi.server.RMIClassLoader.loadClass(RMIClassL oader.java:257)
at sun.rmi.server.MarshalInputStream.resolveClass(Mar shalInputStream.java:200)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectI nputStream.java:1513)
at java.io.ObjectInputStream.readClassDesc(ObjectInpu tStream.java:1435)
at java.io.ObjectInputStream.readOrdinaryObject(Objec tInputStream.java:1626)
at java.io.ObjectInputStream.readObject0(ObjectInputS tream.java:1274)
at java.io.ObjectInputStream.readObject(ObjectInputSt ream.java:324)
... 9 more
Exception in thread "main"

If I stop the rmiregistry, RmiServiceExporter is starting a new rmiregistry an the service can be registered. But I need to register more than one service, so I can't start a new registry for each one.

What's about the policy - where can I set it?

I'm working with:
- JVM 1.4.1
- Springframework 1.2

Thanks for help!

Tobias

jammycc
May 25th, 2010, 07:36 AM
just check error unmarshalling arguments (http://www.javarmi.com/2010/05/java-rmi-error-unmarshalling-arguments/) you can get answer