CWSIA0112E: 属性 名称 Keep-Alive 不是有效的 Java 标识符

CWSIA0112E: The property name Keep-Alive is not a valid Java identifier

我看到所有 header 带有连字符 -

的属性的大量日志

[30-5-18 17:13:14:321 CEST] 00001622 SystemOut O WARN [integration.jms.DefaultJmsHeaderMapper] failed to map Message header 'Keep-Alive' to JMS property javax.jms.MessageFormatException: CWSIA0112E: The property name Keep-Alive is not a valid Java identifier.

[30-5-18 17:13:14:321 CEST] 00001622 SystemOut O WARN [integration.jms.DefaultJmsHeaderMapper] failed to map Message header 'Transfer-Encoding' to JMS property javax.jms.MessageFormatException: CWSIA0112E: The property name Transfer-Encoding is not a valid Java identifier.

如何解决所有这些错误和警告 自定义 header 映射器有帮助吗? 使用 Spring 引导 1.4.3 和集成版本 4.3.6。 Websphere 默认 JMS 提供程序 8.5.x

上的应用程序 运行

谢谢

我认为该错误意味着您不能在 属性 名称中使用破折号。

您需要使用 HeaderEnricher 将此 Keep-Alive 重新映射为类似 KeepAlive 的内容,然后使用 HeaderFilter.

将其删除