使用 Camel 将输出从 POST 流式传输到 URL
Using Camel to stream output from a POST to a URL
是否可以使用 Camel 流组件将 POST 的输出读取到 URL?类似于:<to uri="stream:url?url=http://localhost:8080/mycontext/myservlet"/>
我试过了,但没有用。我需要 post 一个 JSON 对象到一个 URL 并处理返回的巨大负载,所以我需要将它流式传输到一个文件,而不是先将它全部加载到内存中。 CAMEL DSL 中是否有替代方案,或者我应该以某种方式使用 bean,例如使用 HttpUrlConnection 进行流式传输?
只需使用 http module - 它确实支持 POST 请求,而且会在 return.
中为您提供 InputStream
只要您的路由不强制 Camel 将消息负载自动转换为 String
,您就可以在处理程序中自由实施任何专有的流式处理逻辑。换句话说,确保您的处理程序,例如一个 bean 方法,在其方法签名中使用 InputStream
而不是 String
。
是否可以使用 Camel 流组件将 POST 的输出读取到 URL?类似于:<to uri="stream:url?url=http://localhost:8080/mycontext/myservlet"/>
我试过了,但没有用。我需要 post 一个 JSON 对象到一个 URL 并处理返回的巨大负载,所以我需要将它流式传输到一个文件,而不是先将它全部加载到内存中。 CAMEL DSL 中是否有替代方案,或者我应该以某种方式使用 bean,例如使用 HttpUrlConnection 进行流式传输?
只需使用 http module - 它确实支持 POST 请求,而且会在 return.
中为您提供InputStream
只要您的路由不强制 Camel 将消息负载自动转换为 String
,您就可以在处理程序中自由实施任何专有的流式处理逻辑。换句话说,确保您的处理程序,例如一个 bean 方法,在其方法签名中使用 InputStream
而不是 String
。