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

时间:2011-05-10 14:20:26

标签: java flash serialization marshalling blazeds

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

我正在使用RemoteObject内容来发送对象,使用自定义序列化,我需要实现Externalizable(Java)和IExternalizable(AS)接口。到目前为止,此工作正常。

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

一种可能性似乎是编写一个XJC插件,使类实现Externalizable。但这看起来很难......

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

2 个答案:

答案 0 :(得分:0)

有两种选择:

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

答案 1 :(得分:0)

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