骆驼头变量和属性的大小限制

Har*_*ari 1 xml apache-camel

我必须将请求 xml 存储到数据库中。我正在使用标头变量来做到这一点。

exchange.getIn().setHeader("inputRequestXml", body);
Run Code Online (Sandbox Code Playgroud)

它适用于某些文件而且我在某些文件中遇到了异常,这似乎是因为文件大小。

 413 Request entity too large
Run Code Online (Sandbox Code Playgroud)

所以我通过使用骆驼属性改变了实现,如下所示

exchange.setProperty("inputRequestXml", body);
Run Code Online (Sandbox Code Playgroud)

现在我没有得到例外。但恐怕它会在实际的 PROD 环境中处理更大的文件。所以我想知道,标头变量和属性的大小限制是多少?

Cla*_*sen 5

Exchange 属性没有限制,它只是一个 HashMap,将键/值存储在 JVM 的内存中。

消息头也只是一个 HashMap,但头是消息契约的一部分,根据您使用的 Camel 组件(传输),这些头可能正在使用中,例如 HTTP 头、SOAP 头、JMS 头等。您可能有由这些传输引起的标头限制。

您可以找到更多详细信息,最好阅读 Camel in Action 2nd edition book 的免费第 1 章,其中解释了重要的 Camel 概念。