2009-08-25 21 views
8

Javaコードから直接GWT RPCサービスエンドポイントを簡単に呼び出す方法はありますか?私は実際のJavaコードを意味し、JavaコードはJavaScriptにコンパイルされているわけではありません。Javaから直接GWT RPCサービスを呼び出す

GWT RPCインターフェイスに対してパフォーマンスベンチマーク/ストレステストを実行したいので頼みます。私はテストハーネスをJavaで書いて、JVMで(ブラウザで実行されているjavascriptとは対照的に)実行したいと思います。

GWTホストモードでは、このような機能が必要であるため、これを行う方法が必要であると思います。しかし、私は実際にGWTランタイムでこれをきれいに行う方法を示すコードを見つけることはできません。私はcom.google.gwt.user.client.rpcパッケージを見てきましたが、そこにあるものは、明らかに純粋なJavaで使用できないJSNIを使用しているようです。

答えて

10

GWT SyncProxyを使用すると、純粋なJava(JSNIではない)コードからGWT RPCサービス(メソッドなど)にアクセスできます。したがって、これを使用してRPCインターフェイスをテストすることができます。

詳細はhttp://www.gdevelop.com/w/blog/2010/01/10/testing-gwt-rpc-services/を参照してください。

+0

このメカニズムは実動システムでは機能しますか?たとえば、顧客側のJ​​ava APIを顧客に提供するために使用できますか? – HDave

+0

はい、確かです。ただし、第三者のアクセスの場合は、サーバー側にアクセス制御を実装する必要があります。/ – Trung

+1

上記のURLは死んでいるようですので、プロジェクトのGoogleコードサイトをご覧ください:https://code.google.com/p/gwt -syncproxy/ – JCricket

0

Grinderのような従来の負荷テストツールを使用して、投稿要求をサービスに再生することができます。それはあなたが求めているものではありませんが、アプリケーションの負荷テストを実行するより良い方法かもしれません。グラインダーは多くの同時ユーザーなどをシミュレートできます。

1

サービスのビジネスロジックをベンチマークしようとしていますか、GWT-RPC自体のパフォーマンスはどれですか?あなたはバックエンドのコードが実行どれだけについてほとんど心配している場合は、あなただけの直接あなたのサービスを実装するクラスをインスタンス化できます。

MyServiceImpl impl = new MyServiceImpl(); 
impl.doSomething(); 

あなたがRPC呼び出しを含むスタックの大きなスライスを、テストしたい場合は、取ります見てhere。 「Webモードでテストを実行する」というセクションがあります。「デフォルトでは、ホストモードで実行されるテストは、JVMで通常のJavaバイトコードとして実行されます。したがって、説明された設定を使用すると、デフォルトでjavaで実行するようにテストが行​​われると思います。また、そのページには、GWTのプロファイリングツールに組み込まれている情報があります。

+0

GWT-RPC自体と私たちのサーバーに組み込まれているカスタマイズされたディスパッチメカニズムをテストしたいと思います。私は、GWTテストインフラストラクチャが課すすべての足場を使用する必要はありませんが、あなたが参照する組み込みのGWTテストツールを見ていきたいと思います。ありがとう! – Eric

関連する問題