1

私は、RestEasy2.2.2を使用してTomcat7にデプロイするJAX-RSWebサービスの開発に取り組んでいます。WebサービスはJSONを(Jackson経由で)クライアントに返します。これまでは機能していましたが、クライアントに送信する必要のある動的リンクを構築する方法がわかりません。

次のことが頭に浮かびます。

1-ルートオブジェクト(それ自体に他のオブジェクトが含まれ、合計3レベル)のディープコピーを作成し、リンクを表すStringプロパティを変更して、この新しいオブジェクトを返します。

懸念事項:パフォーマンス、ディープコピーの実装を正しくする

2-リクエストごとにオブジェクトを変更して返します

懸念事項:並行性の問題(これが可能かどうかさえわかりません)

3-新しいルートオブジェクトを作成し、「メインオブジェクト」を繰り返し処理し、必要に応じて変更/追加します

懸念事項:(1)と同様。基本的に、これはコピーコンストラクタとオブジェクトのcloning()の実装です。

私が見つけた唯一の例(「JAX-RSリソースクラス」セクションまでスクロールダウン)は、オプション3を実装しているようです。ただし、間違っていない場合は、オプション2のように動作します(オブジェクトを変更してコレクションに追加します)。 )そして、並行性の問題がどのように処理されるのかわかりません。

ご指導、ご協力、ご意見をよろしくお願いいたします。

4

1 に答える 1

0

将来誰かがこの質問を読む場合に備えて、私は「メモリ内でシリアル化-逆シリアル化」ルートを使用して新しいコピーを取得し、この新しいコピーに動的にリンクを構築しました。私はすでにJSONリーダーとライターを利用できるので、ソリューションはごくわずかな作業で利用できました(正確には、実際の呼び出しには1行)。プロジェクトの目的上、(パフォーマンスの観点から)正常に機能しているようです。

于 2011-10-05T15:21:33.100 に答える