惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

大猫的无限游戏
大猫的无限游戏
云风的 BLOG
云风的 BLOG
小众软件
小众软件
V
V2EX
博客园 - Franky
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
量子位
博客园 - 【当耐特】
雷峰网
雷峰网
WordPress大学
WordPress大学
Jina AI
Jina AI
Google DeepMind News
Google DeepMind News
N
Netflix TechBlog - Medium
爱范儿
爱范儿
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
阮一峰的网络日志
阮一峰的网络日志
IT之家
IT之家
Blog — PlanetScale
Blog — PlanetScale
Hugging Face - Blog
Hugging Face - Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
V
Visual Studio Blog
Microsoft Security Blog
Microsoft Security Blog

博客园 - 三驾马车

Claude Code 官宣:可以在 IDEA 用了! idea gitee 更新已取消 解决方案 ByteBuffer和ByteBuf区别 ProtobufVarint32FrameDecoder和ProtobufDecoder区别 protobuf 的 Varint 编码规范 netty initChannel ch.pipeline().addLast 先后顺序很重要 ChannelInboundHandlerAdapter 的channelRead和channelReadComplete的区别 Unpooled.buffer()和Unpooled.copiedBuffer区别 ServerBootstrap 和Bootstrap 区别 childhandler 和 handler 区别 ChannelInitializer<SocketChannel> 的作用详解 ChannelHandlerAdapter 和 ChannelInboundHandlerAdapter 的区别 SimpleChannelInboundHandler 中的 messageReceived 和 channelRead0 ChannelHandlerAdapter 与 ChannelInboundHandler 的区别 Application run failed .ParserException: while parsing a block mapping in 'reader' openssl genrsa 自签名ssl证书 上传本地项目到新建git项目 save download pdf
Marshalling.getProvidedMarshallerFactory("serial&quo...
三驾马车 · 2025-05-29 · via 博客园 - 三驾马车

在 Eclipse Modeling Framework (EMF) 或其他支持数据编组(Marshalling)的框架中,Marshalling.getProvidedMarshallerFactory("serial") 方法用于获取特定类型的 Marshaller(序列化器)工厂。其中 "serial" 是一个预定义的参数,表示使用 默认的序列化方式(通常是 Java 原生序列化)。

可用的 MarshallerFactory 参数(常见选项)

不同的框架可能支持不同的参数,以下是常见的几种:

1. 标准 EMF 支持的 Marshaller 类型

参数值说明适用场景
"serial" 使用 Java 原生序列化(java.io.Serializable 简单对象存储、进程间通信
"xml" 使用 XML 序列化(如 EMF 的 Resource.XMLResource 跨平台数据交换、配置文件存储
"xmi" 使用 XMI (XML Metadata Interchange) 格式(EMF 默认的 XML 序列化格式) EMF 模型持久化
"json" 使用 JSON 序列化(需额外依赖,如 EMF Json 扩展) Web API、轻量级数据交换
"binary" 使用 二进制格式(比 XML/JSON 更紧凑) 高性能存储、网络传输优化
"hibernate" 与 Hibernate 集成(用于 ORM 映射) 数据库存储
"yaml" 使用 YAML 序列化(需额外库支持) 可读性强的配置文件

2. 其他框架(如 Jackson、JAXB)的 Marshaller 类型

如果使用的是 Jackson 或 JAXB 等库,参数可能不同:

  • Jackson:

    • "json"(默认)

    • "xml"(需 jackson-dataformat-xml

    • "yaml"(需 jackson-dataformat-yaml

  • JAXB:

    • "xml"(默认)

    • "json"(需额外适配器,如 MOXy)


示例代码(EMF 中使用不同 Marshaller)


如何查看支持的参数?

  1. 查阅框架文档(如 EMF、Jackson、JAXB 官方文档)。

  2. 调试或反射查看(某些框架可能通过 SPI 动态加载 Marshaller):

    
    

    总结

    • "serial" 只是其中一种选项,常见参数还包括 "xml""json""xmi""binary" 等。

    • 具体支持哪些参数取决于 框架实现 和 已加载的扩展库。

    • 如果需自定义格式,可实现 Marshaller.Factory 接口并注册到框架。