2

プロジェクトでSpring Remotingをしばらく使用しています。当社の Web サービスにアクセスするために、他のシステムと共に使用されます。私たちは現在、Web サービスが取るパラメーターに関して進化しています。しかし同時に、私たちは消費者から独立しようとしています。

したがって、現在私の質問は、春のリモーティングでシリアライゼーションとデシリアライゼーションがどのように機能するかについてです。詳細は次のとおりです。

クラスに次のパラメーターを持つSpring Remotingを通じて公開されたWebサービスがあります

  1. 名前
  2. 住所

現在、すべてのコンシューマーはそれぞれのスタブを使用し、それに応じてシリアル化と逆シリアル化が行われます。

前述したように、Web サービスとクラスをそれぞれ進化させて、次のフィールドを含めるようにしました」

  1. 名前
  2. 住所
  3. 生年月日

ただし、コンシューマーは Web サービスにアクセスするための古いスタブまたはむしろスタブ jar をまだ持っています。スパイクを行いましたが、最後に新しく追加されたフィールドに関係なく、リモーティング サービスは引き続き正常に動作しているようです。フィールドの数が追加されたので、消費者の側で爆発することを期待していました。「フィールドがクラスから削除/削除されていないことに注意してください」. 追加のみが行われました。

春のリモーティングは追加のフィールドを適切に処理しますか?

私の質問が明確でない場合は、いつでもお知らせください。私が提唱しようとしている究極の質問は、私のプログラムが爆撃することを期待すべきかということです。そして、何かを正しくテストしていないので、現在失敗していませんか? spring remoting は、交換されているオブジェクトをどのようにシリアライズおよびデシリアライズしますか?

4

2 に答える 2

1

SpringのリモーティングはJavaのシリアル化ではなく、HTTPに基づいていると思いました。その場合、これらはパラメーターの名前と値のペアであり、既存のクライアントが引き続き機能することを期待しているパラメーターを削除していない限り、これらはパラメーターの名前と値のペアです。

これをチェックしてください、スカフマン。あなたの春の知識は素晴らしいです、そして私は今休暇中です。友達のコンピューターに長くとどまり、そのトピックを研究するのは失礼だと思います。申し訳ありませんが、これ以上お役に立てることはありません。

于 2009-08-18T16:00:58.923 に答える
1

Spring シリアライゼーションは、Java シリアライゼーションのルールに従います。

変更が実際に に影響したこと、serialVersionUIDおよび変更されていないものを自分で提供していないことを確認してください。

于 2009-08-18T20:13:08.883 に答える