BlazeDS 环境中的 RemoteObject:序列化来自 JAXB/XJC 生成的类的对象



我正在使用BlazeDS开发一个带有Java后端和Flash(纯ActionScript)前端的Web应用程序。

我正在使用RemoteObject的东西来发送对象,使用自定义序列化,我需要实现外部化(Java)和IExternalizable(AS)接口。到目前为止,这工作正常。

但是现在我需要将对象从Java发送到Flash,其类是用JAXB/XJC生成的。当然,这些生成的 Java 类没有实现外部化接口,所以我似乎不能在这里使用我的方法。

一种可能性似乎是编写一个 XJC 插件,使类实现可外部化。但这看起来是一项艰巨的工作...

有没有人知道如何解决这个问题?

几个选项:

  • 在 JAXB 生成的类之上构建一组对象。我会选择这个选项。
  • 在 JAXB 生成的类之上构建一个代理,该代理将相应地序列化/反序列化每个对象。如果您的对象正在实现可外部化接口,则可以使用 Java 的动态代理 API,而无需动态代码生成
  • 修改 Blazeds 分布。我会远离它,但这是可行的。

我终于开发了一个JAXB/XJC插件。(如果有人有兴趣,请与我联系。现在工作正常。

最新更新