2

我们在项目中使用 Spring Remoting 已经有一段时间了。它与其他一些系统一起使用以访问我们的网络服务。我们目前正在根据 Web 服务采用的参数进行改进;但与此同时,我们正努力独立于我们的消费者。

所以,目前我的问题是关于序列化和反序列化如何在春季远程处理中工作。以下是详细信息:

我有一个通过 spring 远程处理暴露的 web 服务,它在一个类中有以下参数

  1. 姓名
  2. 年龄
  3. 地址

目前,所有消费者都使用各自的存根,并相应地进行序列化和反序列化。

正如我所提到的,我们现在分别发展了我们的 Web 服务和类以包含以下字段”

  1. 姓名
  2. 年龄
  3. 地址
  4. 国家
  5. 出生日期

然而,消费者仍然有旧的存根或者存根 jar 来访问 Web 服务。我们做了一个峰值,似乎无论我们端新添加的字段如何,远程服务都可以继续正常工作。由于添加了字段数量,我期待它会在消费者端轰炸。“请注意没有字段已从类中删除/删除”。只是做了一些补充。

春季远程处理是否可以优雅地处理其他字段,或者我应该期望它可以实现?

如果我的问题在任何时候都不清楚,请告诉我。我试图提出的最终问题是,我是否应该期待我的程序被炸毁?它目前没有失败,因为我没有正确测试一些东西?spring remoting 如何序列化和反序列化正在交换的对象?

4

2 回答 2

1

我认为 Spring 远程处理基于 HTTP,而不是 Java 序列化。如果是这种情况,这些是参数名称/值对,只要您没有删除现有客户期望它应该继续工作的参数。

请检查一下,skaffman。你对春天的了解非常好,我现在正在度假。如果我在朋友的电脑上停留更长时间并研究这个话题,我会很不礼貌。抱歉,我不能提供更多帮助。

于 2009-08-18T16:00:58.923 回答
1

Spring 序列化遵循 Java 序列化的规则。

验证更改确实影响了serialVersionUID并且您自己没有提供一个,这没有改变。

于 2009-08-18T20:13:08.883 回答