Yes, RMI sucks. Even the people who designed it acknowledge that the process to get a connection is overly complex and problem-prone.

Then there's the distributed-GC problem: if you run GC often, you're wasting a lot of time, if you run it seldom, you risk running out of memory with a ton of collectable objects held by cross-JVM references.

Yes, soap or a proprietary text-based protocol would very likely be better. As for delivering the events, you would need to know which sampler each event comes from and just deliver it (real-time, queued or store-and-forward) as if produced by that sampler.

--
Salut,

Jordi.

[EMAIL PROTECTED] wrote:
I'm switching to the dev list because I want to ask a question: wouldn't it be easier for us if JMeter sent text only between server and client? Then the server could be a soap server or something and tests could be sent as XML (hey, that's how we save them too, isn't that convenient). The client could then also be a soap server and receive event notifications as text. (btw, I'm not hooked on the soap server - it's probably heavier than we need, just some text over sockets would make me happy). In any case, this would get rid of the marshalling exceptions, get rid of rmiregistry, put control over the port # in the users hands.

The problem and the reason I haven't done it previously is that a method needs to be worked out for directing events to the proper listeners. Now, we've talked about having a single test listener that just logs and maybe provides some simple visual feedback and then "analyzers" could view the data non-interactively, and this would remove the need for directing events to particular listeners, or something else could be arranged. It's something to put our thinking caps on for because I do want to get rid of RMI.

-Mike


On 28 Aug 2003 at 11:31, [EMAIL PROTECTED] wrote:



Regarding these problems running remotely: You must be very sure that the jar files on each machine are exactly the same - this does not mean exactly the same source compiled on each machine, it means exactly the same jars copied from a single source (ie, the 1.9.1 distribution).

If you are at all unsure whether the jars are the same, choose one machine and copy it's jars to the other machines, overwriting the jars that are there.

-Mike

On 28 Aug 2003 at 10:17, Jon Steelman wrote:


BTW, running 1.9.1 server and client.

---------- Original Message ----------------------------------
From: "Jon Steelman" <[EMAIL PROTECTED]>
Reply-To: <[EMAIL PROTECTED]>
Date: Thu, 28 Aug 2003 09:33:43 -0400


I get this when trying to start a remote test plan. Another

machine is able to execute the plan remotely just fine. Has

anyone


seen this? Any ideas?

Thanks,
Jon

C:\Projects, Idea\AfterBOT

Actual\receiptsplus\config\test\jmeter\Jon Test Plan.jmx


08/27/2003 4:16:57 PM WARN -

jmeter.engine.ClientJMeterEngine: about to run remote test


08/27/2003 4:16:57 PM WARN -

jmeter.engine.ClientJMeterEngine: done initiating run command


08/27/2003 4:16:57 PM WARN -

jmeter.engine.ClientJMeterEngine: running clientengine run

method


08/27/2003 4:16:57 PM INFO - jmeter.engine: num threads =

2


08/27/2003 4:16:57 PM INFO - jmeter.engine: num threads =

2


08/27/2003 4:16:58 PM WARN -

jmeter.engine.ClientJMeterEngine: sent host info


08/27/2003 4:16:58 PM ERROR -

jmeter.engine.ClientJMeterEngine: java.rmi.MarshalException: error marshalling arguments; nested exception is:


java.net.SocketException: Software caused connection

abort: socket write error


at sun.rmi.server.UnicastRef.invoke(Unknown Source)
at

org.apache.jmeter.engine.RemoteJMeterEngineImpl_Stub.configur

e(Unknown Source)

at

org.apache.jmeter.engine.ClientJMeterEngine.run(ClientJMeterEng

ine.java:153)

at java.lang.Thread.run(Unknown Source)
Caused by: java.net.SocketException: Software caused

connection abort: socket write error


at java.net.SocketOutputStream.socketWrite0(Native

Method)


at java.net.SocketOutputStream.socketWrite(Unknown

Source)


at java.net.SocketOutputStream.write(Unknown Source)
at java.io.BufferedOutputStream.flushBuffer(Unknown

Source)


at java.io.BufferedOutputStream.write(Unknown Source)
at

java.io.ObjectOutputStream$BlockDataOutputStream.drain(Unkno

wn Source)

at

java.io.ObjectOutputStream$BlockDataOutputStream.writeByte(Un

known Source)

at

java.io.ObjectOutputStream.writeFatalException(Unknown

Source)


at java.io.ObjectOutputStream.writeObject(Unknown

Source)


at sun.rmi.server.UnicastRef.marshalValue(Unknown

Source)


... 4 more



---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-user-

[EMAIL PROTECTED]


For additional commands, e-mail: jmeter-user-

[EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-user-

[EMAIL PROTECTED]


For additional commands, e-mail: jmeter-user-

[EMAIL PROTECTED]





-- Michael Stover [EMAIL PROTECTED] Yahoo IM: mstover_ya ICQ: 152975688 AIM: mstover777

---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-user-

[EMAIL PROTECTED]


For additional commands, e-mail: jmeter-user-

[EMAIL PROTECTED]






--
Michael Stover
[EMAIL PROTECTED]
Yahoo IM: mstover_ya
ICQ: 152975688
AIM: mstover777

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



-- Salut,

Jordi.


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to