Spring Cloud 标头映射
2024-01-10 15:59 更新
这些通道适配器包含标头映射器,可让您将标头从Spring映射或过滤出到Google Cloud Pub / Sub消息,反之亦然。默认情况下,入站通道适配器将Google Cloud Pub / Sub消息上的每个标头映射到适配器产生的Spring消息。出站通道适配器将Spring消息中的每个标头映射到Google Cloud Pub / Sub消息中,由Spring添加的消息标头除外,例如带有键"id"
,"timestamp"
和"gcp_pubsub_acknowledgement"
的标头。
在此过程中,出站映射器还将标头的值转换为字符串。
每个适配器都声明一个setHeaderMapper()
方法,可让您进一步自定义要从Spring映射到Google Cloud Pub / Sub的标题,反之亦然。
例如,要过滤出头文件"foo"
,"bar"
和所有以前缀“ prefix_”开头的头文件,可以将setHeaderMapper()
与此模块提供的PubSubHeaderMapper
实现一起使用。
PubSubMessageHandler adapter = ... ... PubSubHeaderMapper headerMapper = new PubSubHeaderMapper(); headerMapper.setOutboundHeaderPatterns("!foo", "!bar", "!prefix_*", "*"); adapter.setHeaderMapper(headerMapper);
在PubSubHeaderMapper.setOutboundHeaderPatterns()
和PubSubHeaderMapper.setInboundHeaderPatterns()
中声明模式的顺序很重要。第一种模式优先于以下模式。
在前面的示例中,"*"
模式表示每个标头都已映射。但是,由于它在列表中排在最后,因此之前的模式优先。
以上内容是否对您有帮助:
更多建议: