首页 文章

Apache Camel HTTP4和(JSESSIONID)cookie

提问于
浏览
1

我有一个相对复杂的路由,在同一主机上调用5个不同的URL . 主机偶尔会发送我必须在后续通话中返回的cookie,就像浏览器一样 . 我正在使用Camel 2.10(由于兼容性问题而无法升级),此版本似乎默认情况下不配置cookie存储 . 如果我将连接到 BasicCookieStore ,那么它可以被HTTP4组件所做的所有调用共享......但是,当然,这在许多用户共享的Web应用程序的上下文中是没有意义的,所以它可能是一个错误的假设 .

我还注意到,如果我对同一个URL发出多个请求,应该总是为JSESSIONID发送一个Set-Cookie(当然,除非客户端已经发送了这个cookie),但即使我在创建之前专门删除了所有头文件请求,服务器只在第一次发送JSESSIONID . 我已经尝试了 bridgeEndpoint=true 和没有,没有行为上的差异 . 使用浏览器进行访问时,其行为与预期一致 .

看起来我对Camel如何处理cookies非常有误解 . 有人可以帮我理解发生了什么吗?

1 回答

  • 1

    当您将bridgeEndpoint选项设置为true时,camel只是将http客户端默认cookieStore设置为false,这意味着它不记得任何cookie .

    如果bridgeEndpoint选项为false(默认值),http客户端使用BasicCookieStore存储cookie .

相关问题