jmeter-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Johan Hedlund" <jo...@dprof.net>
Subject Junit Sampler with spring RMI connection proxy causing Exception
Date Thu, 16 Aug 2007 13:58:55 GMT
Hi,

I'm trying to use JMeter to run unit tests that use spring to connect to a
remote RMI service. I use the spring RMI proxy both on the server and on the
client side to handle the RMI connection, meaning that my RMI service
interface does not extend Remote.

My unit tests run just fine outside of JMeter (in maven or in Eclipse), but
when I try to run them in JMeter I get strange RMI Exceptions (included at
the end of this post). The exception mentions not having a protocol, but my
service url DOES work as intended outside of JMeter, so that can't be it.

I've done some more testing to try to narrow down the problem, and have come
to the conclusion that the RMI connection fails in JMeter if the remote
service is published using an interface that does not extend Remote, but
works fine if it DOES extend it.

Has anyone else come across this problem, and is there any explanation for
it or way around it?

Thanks

/Johan


The stack trace is:


java.rmi.ServerException: RemoteException occurred in server thread; nested
exception is:
        java.rmi.UnmarshalException: error unmarshalling arguments; nested
exception is:
        java.net.MalformedURLException: no protocol: and
        at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:325)
        at sun.rmi.transport.Transport$1.run(Transport.java:153)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
        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 :595)
        at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknown
Source)
        at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source)
        at sun.rmi.server.UnicastRef.invoke (Unknown Source)
        at org.springframework.remoting.rmi.RmiInvocationWrapper_Stub.invoke(Unknown
Source)
        at com.drkw.cpds.sos.clients.eca.EcaAsClientOfSosTest.testSOSRMI(
EcaAsClientOfSosTest.java:164)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.apache.jmeter.protocol.java.sampler.JUnitSampler$1.protect(
JUnitSampler.java:372)
        at junit.framework.TestResult.runProtected(TestResult.java :124)
        at org.apache.jmeter.protocol.java.sampler.JUnitSampler.sample(
JUnitSampler.java:375)
        at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:247)
        at java.lang.Thread.run(Unknown Source)
Caused by: java.rmi.UnmarshalException: error unmarshalling arguments;
nested exception is:
        java.net.MalformedURLException: no protocol: and
        at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:282)
        at sun.rmi.transport.Transport$1.run(Transport.java:153)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
        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 :595)
Caused by: java.net.MalformedURLException: no protocol: and
        at java.net.URL.<init>(URL.java:567)
        at java.net.URL.<init>(URL.java:464)
        at java.net.URL.<init>(URL.java :413)
        at sun.rmi.server.LoaderHandler.pathToURLs(LoaderHandler.java:747)
        at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:147)
        at java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:620)
        at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:247)
        at sun.rmi.server.MarshalInputStream.resolveClass(
MarshalInputStream.java:197)
        at java.io.ObjectInputStream.readNonProxyDesc (
ObjectInputStream.java:1538)
        at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java
:1460)
        at java.io.ObjectInputStream.readOrdinaryObject(
ObjectInputStream.java:1693)
        at java.io.ObjectInputStream.readObject0 (ObjectInputStream.java
:1299)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
        at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:290)
        at sun.rmi.server.UnicastServerRef.dispatch (UnicastServerRef.java
:279)
        ... 6 more

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message