Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java BlazeDS环境中的RemoteObject:从JAXB/XJC生成的类序列化对象_Java_Flash_Serialization_Marshalling_Blazeds - Fatal编程技术网

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

Java BlazeDS环境中的RemoteObject:从JAXB/XJC生成的类序列化对象,java,flash,serialization,marshalling,blazeds,Java,Flash,Serialization,Marshalling,Blazeds,我正在使用BlazeDS开发一个带有Java后端和Flash(纯ActionScript)前端的webapp 我使用这些东西发送对象,使用自定义序列化,在这里我需要实现可外部化(Java)和可外部化(AS)接口。到目前为止,这一切都很好 但是现在我需要将对象从Java发送到Flash,Flash的类是用Java生成的。当然,这些生成的Java类没有实现可外部化的接口,所以我似乎不能在这里使用我的方法 一种可能是编写一个XJC插件,使类实现外部化。但这看起来是一项艰巨的工作 有人知道如何解决这个问

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

我使用这些东西发送对象,使用自定义序列化,在这里我需要实现可外部化(Java)和可外部化(AS)接口。到目前为止,这一切都很好

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

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

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

有几个选项:

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

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

JAXB只需在类定义中添加“implementnameofInterface”,就可以使生成的类“实现”接口。为了实现必要的方法,需要开发另一个插件。目前,我正试图为此开发一个JAXB插件。这似乎不像我以前想的那么糟糕。你的第一个建议不是意味着要再次实现用JAXB生成的类吗?事实上,我不太明白你的第一个和第二个建议之间的区别。