Gibt es eine einfache Möglichkeit, einen GWT RPC Service-Endpunkt direkt aus Java-Code aufzurufen? Ich meine echten Java-Code, nicht Java-Code in Javascript kompiliert.
Ich frage, weil wir Performance-Benchmarks / Stresstests gegen eine GWT-RPC-Schnittstelle durchführen wollen. Ich möchte die Testumgebung in Java schreiben und sie in einer JVM ausführen (im Gegensatz zu Javascript, das in einem Browser ausgeführt wird).
Ich denke, es muss einen Weg geben, dies zu tun, weil ich davon ausgehe, dass der GWT Hosted-Modus eine solche Funktionalität erfordert. Allerdings kann ich wirklich keinen Code in der GWT-Laufzeit finden, der zeigt, wie man das sauber macht. Ich habe mir das com.google.gwt.user.client.rpc-Paket angeschaut, aber das Zeug dort scheint JSNI zu verwenden, das offensichtlich von reinem Java nicht verwendet werden könnte.
Versuchen Sie, die Geschäftslogik des Services zu vergleichen, oder wie gut GWT-RPC selbst funktioniert? Wenn Sie sich hauptsächlich Sorgen darüber machen, wie gut Ihr Backend-Code funktioniert, können Sie die Klasse, die Ihren Service direkt implementiert, instanziieren:
%Vor%Wenn Sie einen größeren Teil des Stapels einschließlich der RPC-Aufrufe testen möchten, werfen Sie einen Blick hier . Es gibt einen Abschnitt namens "Ausführen des Tests im Webmodus" mit der folgenden Zeile: "Tests, die im Hostmodus ausgeführt werden, werden standardmäßig als normaler Java-Bytecode in einer JVM ausgeführt". Wenn Sie also das beschriebene Setup verwenden, sollten Sie Ihre Tests standardmäßig in Java ausführen lassen. Auf dieser Seite finden Sie auch Informationen über die eingebauten Profiling-Tools von GWT.
Sie können ein konventionelles Lasttest-Tool wie Grinder verwenden, um Post-Anforderungen an Ihren Service erneut zu senden. Das ist nicht ganz das, was Sie fragen, aber es könnte ein besserer Weg sein, Lasttests für Ihre Anwendung durchzuführen. Grinder kann viele gleichzeitige Benutzer simulieren und so weiter.