問題タブ [gwt-rpc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - JavaからGWTRPCサービスを直接呼び出す
Javaコードから直接GWTRPCサービスエンドポイントを呼び出す簡単な方法はありますか?つまり、javascriptにコンパイルされたJavaコードではなく、実際のJavaコードを意味します。
GWTRPCインターフェイスに対してパフォーマンスベンチマーク/ストレステストを実行したいので質問します。テストハーネスをJavaで記述し、JVMで実行したいと思います(ブラウザーで実行されるjavascriptではありません)。
GWT Hostedモードにはそのような機能が必要だと思うので、これを行う方法が必要だと思います。ただし、これをクリーンに行う方法を示すコードはGWTランタイムに実際には見つかりません。com.google.gwt.user.client.rpcパッケージを見てきましたが、そこにあるものはJSNIを使用しているようですが、これは明らかに純粋なJavaでは使用できません。
serialization - GWT と java.io.Serializable
私の GWT アプリには、次のモデル クラスがあります。
このクラスは、GWT のカスタム IsSerializable マーカー インターフェースを実装します。これは、GWT だけでなくモデル クラスを使用するため、あまり好きではありません。だから私は java.io.Serializable を好みます。
しかし、IsSerializable の代わりに Serializable を実装するようにクラスを変更すると、GWT RPC メカニズムが機能しなくなります。サーバー側ではエラーは発生しませんが、クライアントでは AsyncCallback.onFailure が呼び出されます。
私は使っている...
- GWT 1.7.0。
- 春 2.5.6.SEC01
- Spring と GWT は、こちらで説明されているように構成されています。
java - カスタマイズしたサーブレットで GWT RPC メカニズムを使用する
RequestBuilde
現在、 を使用してサーブレットにメッセージを送信するGWT アプリケーションがあり(POST
およびを使用GET
)、サーブレット (doPost
および内doGet
) はリクエストを「一時停止」し (これはサーブレット 3.0 仕様を使用して行われます)、キューに追加します。 .
さらに、バックグラウンドで実行され、新しいデータがあるときにリクエストを「再生」するデーモンスレッドがあります。
これは、今のところ文字列を送信しているだけで、RPC メカニズムを利用してオブジェクトを送信したいという事実を除けば、私にとってはうまく機能します。
私の質問は次のとおりです。拡張するクラス
を作成した場合、どのように処理する必要がありますか?myServiceImpl
RemoteServiceServlet
doPost
doGet
非同期サポートを利用するためにリクエストを一時停止する必要があります。これはどこで行う必要がありますか? this.getThreadLocalRequest()
クラスの RPC メソッドでメソッドを呼び出すことmyServiceImpl
もできますが、それがどれほど賢明かはわかりません。
GWT がその非同期インターフェイスのクライアント側からの呼び出しをどのように処理するかを理解しているかどうかさえわかりません。サーブレットの例を呼び出しdoGet
て、必要な RPC メソッドを呼び出すことを確認しますか?
この RPC ビジネスが正確にどのように機能するかについて、より詳細な技術情報を見つけることができないというだけです。
どんな貸し手
でも感謝します
gwt-rpc - GWT の RPC クラスをすばやく作成するツールはありますか?
RemoteService、Async バージョン、および RemoteServiceServlet 派生クラスを拡張する GWT 用の RPC クラスをすばやく作成するツールはありますか。唯一の入力はいくつかの関数リストであり、すべてのラッパー コードが生成される必要があります。あなたが私の質問を理解したことを願っています。
gwt - GWTアプリケーションのメモリ使用量
私は現在、将来のプロジェクトのテクノロジーの証明としてGWTアプリケーションに取り組んでいます。JavaScriptではなくJavaでAJAXコードを作成する方法が好きです。しかし、RPCサービスへの呼び出しを繰り返すと、メモリの問題が発生しているようです。ブラウザのメモリ使用量は増え続けています。
Googleを検索するとき、GWTがどれほど優れているか、メモリリークを取得することは不可能であるということを読み続けているので、ブラウザ(FirefoxとChromium)のメモリが急増している理由を誰かが説明できますか?
助けてくれてありがとう、ブラム
コード:
編集:
ここからダウンロードできるテストアプリケーションを作成するのに少し時間を費やしました。Firefoxが約350MBのメモリを使用した後、テーブルの更新を有効にしてアプリケーションを約30分間実行しました。また、Firefoxのメモリ使用量が100MBを少し超えるまで、更新テーブルを無効にしてテストを実行しました。
(このサンプルを実行するには、GoogleからダウンロードできるGWT用のGoogle視覚化APIが必要ですが、新しいユーザーポリシーのため、リンクを投稿することはできません)
仕事から家に帰って、テーブルデータを更新せずに別のテストを開始して、メモリ使用量が増え続けるかどうか、または特定の時点で停止するかどうかを確認しました。
これは、クライアント実装クラス(GWTMemoryIssue.java)です。
java - GWT RemoteServiceServlet の数
多数のリモート サービスを使用するアプリケーションを設計する場合、1 つのRemoteServiceServletエンドポイントに多くのメソッドを設定するのと、多数のRemoteServiceServletエンドポイントにメソッドの数を減らすのとではどちらがよいですか?
gwt - GWTでのBigDecimalシリアル化
GWTでBigDecimalをシリアル化するための好ましいアプローチは何ですか?
賢い回避策はありますか、それとも単にDoubleまたはStringを使用しますか?
すべてのGWTの苦痛の中で、これはこれまでのところ最大です。サーバー用とGWT用の2つのモデルを作成し、データを一方から他方に変換するのは嫌です。一方、javax.xml.datatype.Durationの代わりにStringを使用することはあまり気にしませんが、計算のためにサーバーでBigDecimalを使用する必要があります。つまり、2つのモデルと変換、または計算ごとにBigDecimalへの小さな変換が大量に発生します。
javascript - Javascriptオーバーレイを使用するGWTRPCまたはRequestBuilder?
GWT RPCは、クライアントとサーバー間で通信するためにgwtによって提供されるメカニズムです。また、サーバーに接続できるリクエストビルダーもあります。
gwtベースのアプリにどのメカニズムをお勧めしますか。その理由も説明してください。
java - GWT クラス: フィールドのシリアル化を防ぐための注釈?
GWT 1.7 では、サーバー側でオブジェクトを構築するために使用されるクラスがあり、それがクライアント (ブラウザ) 側で使用されます。
クライアント側では、サービス (この場合は NumberFormat) をキャッシュしたいと考えています。これは、クライアントのみのメソッドで遅延して初期化され、フィールド オブジェクトとして格納されます。
問題は、Java (1.6) ビルド ツールが、このフィールドをサーバー側でシリアル化する必要があると解釈することです (サーバー上でアクセスされることはありません)。
ハンドラー クライアント側でオブジェクトをラップすることもできますが、RPC 送信のためにフィールドをシリアル化する必要がないことを示す注釈を指定したいと思います。
java - GWT: タイマーによりランタイム警告が発生する
私は、学校の課題として、最初の GWT ベースの Java プロジェクトに取り組んでいます。これはチャット アプリケーションであり、クライアントは新しいイベントについてサーバーをポーリングしますが、サーバーは各ユーザーが非アクティブであることを検出するためのタイマーを保持します。
実行時に次の問題が発生します。
コード リポジトリは次のとおりです。問題は にあるようですserver/ChatServiceImpl.java
。
私は何か間違ったことをしていますか?私は立ち往生しています。