【问题标题】:Java Pojo Classes -> ASN.1 for RPCJava Pojo 类 -> ASN.1 for RPC
【发布时间】:2011-08-30 14:39:52
【问题描述】:

我想做一些 RPC,消息的格式直接从 Java 接口定义,然后我想使用一些工具来生成 ASN.1 文件。

  1. 你知道我可以使用哪些工具吗? (如果可能的话,不要强迫我在描述格式的接口中使用 ASN 库中的任何类型。

  2. 您知道在 JavaSE 程序中是否有库可以使用 ASN.1 进行 RPC?

【问题讨论】:

  • 你看到Java ASN.1 compiler上的问题了吗?
  • 是的,但这不是我要问的。
  • ASN.1编码代表什么?您是否使用 ASN.1 进行序列化? RPC 是在同一台机器上、联网还是与位置无关?

标签: java rpc asn.1


【解决方案1】:

我想注释类和编写生成 ASN 的注释处理器可能是一种方法,但我无法猜测它需要做的工作量。

【讨论】:

  • 如果我想自己做的话,这是一种方法(我可以,我有一段代码可以做类似的事情),但我正在寻找已经存在的东西。
  • 我没有找到任何已经存在的东西,所以我接受这个答案作为解决方案。
  • 我很高兴被接受,尽管我希望你能找到一些东西。
【解决方案2】:

我想你已经检查过了

  • 二进制笔记
  • 充气城堡
  • 除了
  • PowerASN

您想要类似 spring 远程出口商的东西,但不存在这样的设施。如果你开始使用 netty、mina、pure NIO、OIO、bouncycastle、spring、AOP,这将是一个热门项目,可能会被称为 ASNExporter。

【讨论】:

  • 感谢您提供的链接,我检查了其中一些,但没有找到我需要的。
【解决方案3】:

您可能想查看Java Web Services Developer Pack 2.0,其中包含基于 ASN.1 标准的 Fast Infoset 1.0.1 FCS 发布加速技术。 Fast Infosets 是一项非常有趣的技术,几年前由 SUN Microsystems 启动,并且在取代 JWSDP 的 Glassfish 中仍然可用。

一般来说,Fast Infoset 实现了 SAX 和 StAX 接口。这允许 any XML 技术与 Fast Infoset 一起使用,前提是它们支持 SAX 或 StAX。因此,将 Java 对象编组到 ASN.1 和从 ASN.1 解组通常很容易。在其中一次会议上,Fast Infoset 也被称为二进制 XML

因此,您可以使用 JAXB 注释来注释您的 POJO,并使用 JAXB 迁移到 ASN.1,或者您可以使用侵入性较小的库(例如 XStream)来完成相同的操作。

几个链接:

【讨论】:

  • 谢谢它没有回答我非常具体的问题,其中输入是“包含带有字段的类的 java 源文件”,输出是“Asn.1 文件”。
【解决方案4】:

看看the Apache Harmony project

网站说:

ASN.1 框架为使用 ASN.1 基本类型、符号和编码规则提供了一种通用、简单且高效的方法。该框架可以描述为 Java* 对象与其 ASN.1 编码形式之间的一层,如图 1 所示。

【讨论】:

  • 我已经看过这个项目,但我没有看到任何可以“从 Java 类生成 ASN.1”的地方。这个具体操作是我提问的主题。
猜你喜欢
  • 1970-01-01
  • 2011-10-10
  • 1970-01-01
  • 1970-01-01
  • 2015-12-10
  • 1970-01-01
  • 1970-01-01
  • 2018-07-17
  • 1970-01-01
相关资源
最近更新 更多