我使用Apache Camel路由使用servlet组件接收传入的HTTP流量。路线很简单:
<camel:route id="peopleSoftServletService" errorHandlerRef="errorHandler">
<camel:from uri="servlet:///PeopleSoftService" />
<camel:setHeader headerName="origin">
<camel:simple>PeopleSoft Server: ${in.header.X-Forwarded-For}</camel:simple>
</camel:setHeader>
<camel:inOnly uri="activemq:peoplesoft" />
</camel:route>
我遇到了流缓存问题。我没有明确地使用流缓存,但似乎通过使用servlet组件,在幕后隐式创建了Camel HTTPConsumer,并通过CamelServlet.connect(HttpConsumer使用者)向servlet注册。我想要做的是禁用该消费者的HTTP端点上的流缓存(默认情况下已打开),这通常使用URI参数(&#34; disableStreamCache&#34;)完成。由于在这种情况下我没有明确创建该端点,因此我不知道该怎么做。 servlet URI参数没有可用于自定义隐式端点。
这可以在Camel 2.10.0中完成吗?
答案 0 :(得分:1)
如果要禁用Stream Caching,则需要将exchange属性设置为disable the stream caching,但是无法从HttpConsumer设置exchange属性,所以我只为它创建了一个JIRA很快就会提交一个快速修复程序,你可以自己重新安装补丁程序,因为我们不再提供camel 2.10.x的社区支持。