Frage

Im Moment habe ich eine GWT-Anwendung, die die RequestBuilde verwendet, um Senden von Nachrichten an ein Servlet Ich habe (POST und GET verwenden), und mein Servlet (In doPost und doGet) „Pausen“ die Anforderung (dies geschieht durch die Verwendung Servlets 3.0 Spezifikation) und fügt sie in eine Warteschlange.
Zusätzlich habe ich eine Dämon-Thread, der im Hintergrund läuft und „spielt“ die Anforderung wenn es neue Daten.
Dies funktioniert gut für mich abgesehen von der Tatsache, dass ich gerade bin das Senden Saiten für jetzt und ich möchte den RPC-Mechanismus nutzen, senden Objekte.
Meine Frage ist:
Wenn ich meine myServiceImpl Klasse zu erstellen, die sich RemoteServiceServlet wie soll ich die doPost und doGet wenn überhaupt umgehen?
Ich brauche meine Anfrage zu pausieren die asynchrone Unterstützung zu nutzen, wo soll dies erreicht werden? Ich dachte, vielleicht this.getThreadLocalRequest() Methode in meinem RPC-Methode in myServiceImpl Klasse zu nennen, aber ich bin nicht sicher, wie klug das sein wird.
Ich bin nicht sicher, dass ich auch verstehen, wie GWT den Anruf von der Client-Seite behandelt dieser asynchronen Schnittstelle. Ist es durch Zufall nennen sie den doGet zum Beispiel des Servlets und stellt sicher, dass sie die erforderliche RPC-Methode aufruft?
Es tut mir leid, wenn ich ein Durcheinander von Dingen gemacht, es ist nur, dass ich nicht mehr finden kann detaillierte technische Informationen wie genau, wie dieses RPC-Geschäft funktioniert.
Freuen uns über jede Kreditvergabe Hand
Ittai

War es hilfreich?

Lösung 2

ich glaube, das Hauptmissverständnis Ich hatte zu der Zeit wurde auf die Tatsache, dass GWT RPC auf dem Servlet-Mechanismus aufbaut (intern) und so versuchen, diesen Mechanismus mit asynchronen Servlets zu verwenden war, zu der Zeit, nicht möglich, da GWT RPC war gebaut auf Servlets 2.5 (auch hier zu der Zeit).

Andere Tipps

RPC Um zu verstehen, über POST und GET vergessen es funktioniert anders (dh aus einer Programmiersprache Perspektive. Intern hat es sie benutzen, aber Sie nicht sehen oder verstehen müssen, es sei denn, Sie etwas Exotisches tun wollen). Ein guter Ausgangspunkt ist auf RPC ist die GWT docs: http://code.google .com / webtoolkit / tutorials / 1.6 / RPC.html

Um Ihnen eine Zusammenfassung. Bei der Verwendung von RPC-Servlets myServiceImpl die Methoden einer Schnittstelle namens myService implementieren muss, neben den RemoveServiceServlet erstreckt. Die Methoden erhalten als Argumente die Daten, die Sie an den Server gesendet werden sollen.

Neben dem myService Schnittstelle benötigen Sie eine myServiceAsync Schnittstelle (beide Schnittstelle des sollten in einem Client subpackage sein) zu erstellen. Diese myServiceAsync inteface sollten die gleichen Methoden enthalten, wie die myService Schnittstelle außer jede Methode void zurückkehrt und hat ein zusätzliches letztes Argument AsyncCallback callback.

Sie Client müssen Sie Instrument GWT die RPC über GWT.create (siehe Dokumentation für die Details zu erzeugen.

RPC verwenden zu können, rufen Sie die Methoden auf der myServiceAsync Schnittstelle in Ihrem Client-Code und GWT kümmert es an das Servlet zu senden. Das Servlet wird dann rufen Sie die Anpassungsverfahren mit den Argumenten, die Sie auf den Client übergeben. Dies wird asynchron erfolgen. So kehrt der Client direkt aus dem Aufruf.

Wenn der Server sendet das Ergebnis zurück, um den Rückruf Sie bestanden myServiceAsync verwendet wird oder OnError oder OnSuccess aufgerufen. OnError, wenn das Verfahren auf der Serverseite einen Fehler, sonst OnSuccess wirft. Die OnSuccess wird als Argument den Rückgabewert von dem, was Sie von Ihrem Servlet implementiert in der Methode zurückgegeben wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top