Hallo NG,
ich habe eine Java-Client-Applikation, die ein Stateful Session Bean benutzt und von diesem eine Methode aufruft, die ein Objekt zurückliefert.
Ich rufe nun die EJB-Methode in einer Schleife viele 10.000 Mal auf. Ich gebe alle 1000 Schleifendurchläufe eine Meldung aus. Dabei ist festzustellen, dass das Abholen für 1000 Objekte immer länger dauert, je länger das Programm läuft.
Auf dem Server wurden auch Meldungen ausgegeben. Die Verarbeitung im Bean beansprucht eine konstante Zeit.
Die Objekte werden (natürlich) per Serialisierung vom Server auf den Client übertragen.
Ich habe daher mittlerweile die Deserialisierung im Client in Verdacht. Aber wieso steigt deren Zeitbedarf an?
Um die Verwirrung (noch) größer zu machen: Das o.a.Phänomen ist zu beobachten unter Linux(64bit) mit JavaRE 1.6.0.27.
Führt man das gleiche Client-Programm auf Windows(32 bit) mit JavaRE 1.6.0.14 aus, ist die Verlangsamung nicht zu beobachten - die Objekte werden in konstant bleibender Zeit ausgelesen!
Kann mir jemand helfen? Ich weiss nicht ob ich hier im richtige Forum bin - denn ich bin mir nicht sicher ob es überhaupt an dem JavaEE-Aufruf liegt oder ob wir es mit einem Bug aus Java SE zu tun haben, der die (De)serialiserung betriftt!?
Danke für Eure Hinweise und Ideen!
Beste Grüße
C.Ed
ich habe eine Java-Client-Applikation, die ein Stateful Session Bean benutzt und von diesem eine Methode aufruft, die ein Objekt zurückliefert.
Ich rufe nun die EJB-Methode in einer Schleife viele 10.000 Mal auf. Ich gebe alle 1000 Schleifendurchläufe eine Meldung aus. Dabei ist festzustellen, dass das Abholen für 1000 Objekte immer länger dauert, je länger das Programm läuft.
Auf dem Server wurden auch Meldungen ausgegeben. Die Verarbeitung im Bean beansprucht eine konstante Zeit.
Die Objekte werden (natürlich) per Serialisierung vom Server auf den Client übertragen.
Ich habe daher mittlerweile die Deserialisierung im Client in Verdacht. Aber wieso steigt deren Zeitbedarf an?
Um die Verwirrung (noch) größer zu machen: Das o.a.Phänomen ist zu beobachten unter Linux(64bit) mit JavaRE 1.6.0.27.
Führt man das gleiche Client-Programm auf Windows(32 bit) mit JavaRE 1.6.0.14 aus, ist die Verlangsamung nicht zu beobachten - die Objekte werden in konstant bleibender Zeit ausgelesen!
Kann mir jemand helfen? Ich weiss nicht ob ich hier im richtige Forum bin - denn ich bin mir nicht sicher ob es überhaupt an dem JavaEE-Aufruf liegt oder ob wir es mit einem Bug aus Java SE zu tun haben, der die (De)serialiserung betriftt!?
Danke für Eure Hinweise und Ideen!
Beste Grüße
C.Ed