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

推荐订阅源

V
Vulnerabilities – Threatpost
U
Unit 42
F
Fortinet All Blogs
aimingoo的专栏
aimingoo的专栏
P
Proofpoint News Feed
F
Full Disclosure
月光博客
月光博客
Engineering at Meta
Engineering at Meta
博客园_首页
The Register - Security
The Register - Security
G
Google Developers Blog
The Cloudflare Blog
博客园 - Franky
K
Kaspersky official blog
A
Arctic Wolf
Scott Helme
Scott Helme
C
Cisco Blogs
Hugging Face - Blog
Hugging Face - Blog
C
Check Point Blog
NISL@THU
NISL@THU
AI
AI
D
DataBreaches.Net
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Stack Overflow Blog
Stack Overflow Blog
Project Zero
Project Zero
The GitHub Blog
The GitHub Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
量子位
Vercel News
Vercel News
T
Tor Project blog
P
Privacy International News Feed
D
Docker
I
Intezer
L
LangChain Blog
P
Proofpoint News Feed
Security Latest
Security Latest
C
CXSECURITY Database RSS Feed - CXSecurity.com
T
Threatpost
博客园 - 聂微东
AWS News Blog
AWS News Blog
Martin Fowler
Martin Fowler
P
Privacy & Cybersecurity Law Blog
V
V2EX
Last Week in AI
Last Week in AI
C
Cybersecurity and Infrastructure Security Agency CISA
The Hacker News
The Hacker News
T
Tenable Blog
Blog — PlanetScale
Blog — PlanetScale
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS 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") 参数有那些
三驾马车 · 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 接口并注册到框架。