問題タブ [requestfactory]
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 - gwt RequestFactoryメカニズムを使用してハッシュマップ(マップ)を永続化するには?
Person という名前のドメイン オブジェクトがあります。このドメイン オブジェクトには、キーが対象となる人物の名前、値が Person オブジェクトである人物関係を処理するマップ フィールドがあります。
クラスは次のとおりです。
GWT RequestFactory メカニズムを使用して、hibernate と同様に定義されているこのマップを永続化するにはどうすればよいですか?
java - 大きな配列を渡すために GWT-RPC と RequestFactory を使用する
データを取得し、クライアントに送り返す前に 2 次元配列オブジェクトに解析するアプリケーションを構築しています。次に、アプリケーションはデータを使用して HTML5 キャンバス上に画像を作成します。配列には数千のエントリが含まれており、GWT-RPC を使用してアプリケーションをビルドしたところ、正常に動作しましたが、配列をクライアントに転送するのに時間がかかりすぎました (数分)。
解決策を検索すると、この問題が見つかりました: http://code.google.com/p/google-web-toolkit/issues/detail?id=860
最後の応答は数か月前のものでしたが、サーバーからクライアントに大きな配列を渡すための最良の方法に対する決定的な答えはないようです。deRPC は非推奨になっているため (まだ実際に使用してみていません)、requestfactory を使用するのが唯一の選択肢ですか? requestFactory は、計算を実行して大きな結果を返すためではなく、データベースにアクセスするためのものであるように思われます.計算のためにリクエストが行われ、結果が返される例は見つかりませんでした. 現在の実装で配列の代わりに JSON オブジェクトを作成して RPC を維持する必要がありますか、それとも requestFactory に関して何か不足していますか?
gwt - GWT RequestFactory、クエリ結果 DTO の実装方法
私は GWT-RPC の大規模な実装を行っており、実際に RequestFactory に移行する代替手段を評価しています。私がそうしている基本的な理由は、GWT-RPC が生成する TypeSerializers ソリューションと、実際に私の場合は全体の 60% 以上を表すシリアライズ/デシリアライズ用に生成された巨大なサイズのコードにあまり満足していないためです。 JS の結果のコード。
そのため、1 週間にわたって requestFactory についてすべて読んでいて、最初の印象は、API は永続的なエンティティの管理に限定されているというものでしたが、API がクエリ結果プロキシをどのようにサポートするかが明確に示されていません。
ValueProxy を使用して実行できると読みましたが、それを実行する良い例が見つかりませんでした。つまり、先月の上位 10 クライアントの売上ランキングを提供する必要があると仮定します。そのような情報は RPC 経由で簡単に提供できますが、RequestFactory ではわかりません。プロキシするドメイン オブジェクトがありません。
GWT-RPC を介して、次のようなサービス メソッドがあります。
私の ClientRankingDTO は次のようになります。
したがって、私の DAO レイヤーでは、対応するランキングを計算し、対応する結果で ClientRankingDTO のリストを生成する SalesStatistics ドメイン モデル エンティティに対する何らかのメソッドを用意します。
これは、次のような単純なクエリで実行できます。
選択した ORM で実装されます。
私の質問は、この種のサービスを RequestFactory でどのように実装できますか?
java - RequestContextを拡張するインターフェースはGWTRequestFactoryでサポートされていますか?
私のサービスの多くは、DAOに公開されているだけです。そこで、これらのサービスのインターフェイスを作成しました。
ただし、このインターフェイスを拡張する場合(RequestFactoryにアノテーションなしで):
ランタイム例外が発生します:
RequestContextの直接の子孫のみが許可されていますか?誰かがこれに遭遇しましたか?
java - ValueProxy を作成できません
ValueProxy
ユーザーが実行している検索に関する基本的な情報を保持する を作成しようとしています。何らかの理由で GWT はそれを EntityProxy にしたいのですが、その理由がわかりません (また、このクラスが EntityProxy であることも意味がありません)。
これをサーバーに送り返すアクティビティ内:
これにより、次の結果が得られます。
何か案は?ValueProxies がコードの別の場所で動作しているため、見落としていることは明らかです。
gwt - サーバーへのアップストリームの不変クラスの ValueProxy の送信
GWT の RequestFactory を使用して、クライアントとサーバーの間で不変の型を双方向に渡そうとしているとします。基になる型が TimeOfDay であるとしましょう。これは不変になるように設計されています。
このクラスを ValueProxy でプロキシできます。
これで、サーバー側で TimeOfDay インスタンスを非常に簡単に作成し、サーバー側でこれを介してクライアントに返すことができます。
...そしてこれはクライアント側で:
これはうまくいきます。でも、これを逆にやってみると引っかかる。つまり、サーバー側では:
...そしてクライアント側:
問題点 1 は、GWT.create() がデフォルトで構築されたプロキシを作成するだけなので (つまり、"???" の代わりに何が入るのか?)、tofdProxy の (不変の) コンテンツを設定する方法がないことです。思わぬ障害 #2 は、サーバー側の「No setter」エラーです。
これらの障害を回避する魔法はありますか? AutoBeanFactory.create() には、autobean によってラップされるオブジェクトを取る 2 つの引数のバリアントがあります --- そのようなものが Snag #1 を処理します (そのようなものが ValueProxys の create() に存在する場合)。Snag #2 については、この問題に対処する賢い方法がたくさんあると思います。問題は、まだ GWT に実装されているものがあるかどうかです。
gwt - getId() および getVersion() メソッドなしで RequestFactory を使用できますか?
RequestFactory
既存の Java エンティティ モデルで使用しようとしています。私たちの Java エンティティはすべてDomainObject
インターフェースを実装し、メソッドを公開しますgetObjectId()
(この名前はあいまいで、モデル化されているドメインからのドメイン オブジェクトの実際のIDgetId()
と競合する可能性があるため選択されました。
インターフェイスにより、ServiceLayerDecorator
ID およびバージョン プロパティのルックアップ戦略をカスタマイズできます。
ここまでは順調ですね。ただし、このソリューションをデプロイしようとすると、ランタイム エラーが発生します。特に、RequestFactoryInterfaceValidator
不満:
その後、次のようになります。
私の質問は、との規則をハードコーディングしているServiceLayerDecorator
場合、カスタマイズされた ID とバージョンのルックアップ戦略を許可するのはなぜですか?RequestFactoryInterfaceValidator
getId()
getVersion()
「毒された」プロキシクラスを無視するようにオーバーライドできると思いますServiceLayerDecorator.resolveClass()
が、この時点では、フレームワークと戦いすぎているようです...
gwt - GWT RequestFactory のクライアント パラメータ
私は GWT RequestFactory を使用しており、クライアント側のパラメーターをサービスで転送したいと考えています。パラメータはドメイン モデルの一部ではなく、データベースに保存されないため、クライアントで作成する必要があります。残念ながら、パラメーターとして使用できるのは xxxProxy オブジェクトのみであり、サーバー上でしか作成できないため、これを行う方法が見つかりませんでした。
私の具体例:
サーバーからタスクをダウンロードし、ロードするタスク オブジェクトを指定するパラメーターとしてリクエストを含むフィルター オブジェクトを送信したいと考えています。
ご協力いただきありがとうございます!
gwt - GWT 2.4 のクライアントでの RequestFactory サービスの継承
GWT 2.4 は、クライアントにサービスの継承をもたらします (問題 6234、問題 6035 )。
クライアント上で多くの重複コードを節約できるので、私はこの未来を長い間待っていました。私はそれを実装し始めましたが、成功はまちまちです。
これは私のコードです:
これまでのところgetAllOrderBy
、getRangeAndFilter
正常に動作しますが、put(T entity)
動作しません。
コンソールに次のエラーが表示されます。
これは受信側の onFailure ServerFailure メッセージで返されます。
私が見ることができるput
メソッドが機能しない唯一の原因は、他のメソッドが機能するときに、ジェネリックパラメーター T を使用することです。インターフェイスでput
メソッドを移動すると ( T の代わりにパラメーターとして使用して)、動作するので、サーバー コードが正常であることはわかっています。EgdRequest
EgdProxy
これを正しく実装する方法を知っている人はいますか?
ありがとう!