Spring org.apache.camel.Processor获取源ip地址

Spring org.apache.camel.Processor获取源ip地址,spring,apache-camel,Spring,Apache Camel,我有一个camelContext拦截器,它调用这样的处理器。您可以看到my spring.xml 是否可以在Exchange对象中找到客户端的源IP地址 请注意,本文通过将消息体提取为来查找IP地址的方法不适用,因为我的方法是一个简单的REST服务,并且没有实现serverlet。我的输入消息正文是一个字符串 骆驼交换包含来自请求的http头。最好将标题转储到日志中,以了解您的特定代理设置、web服务器等可用的内容。可能存在也可能不存在包含客户端IP的几个标题字段:X-Forwarded-For

我有一个camelContext拦截器,它调用这样的处理器。您可以看到my spring.xml

是否可以在Exchange对象中找到客户端的源IP地址


请注意,本文通过将消息体提取为来查找IP地址的方法不适用,因为我的方法是一个简单的REST服务,并且没有实现serverlet。我的输入消息正文是一个字符串

骆驼交换包含来自请求的http头。最好将标题转储到日志中,以了解您的特定代理设置、web服务器等可用的内容。可能存在也可能不存在包含客户端IP的几个标题字段:X-Forwarded-For、X-client-IP、X-Real-IP等

您可以这样记录标题:

<camel:to uri="log:dump.headers?level=DEBUG&amp;showHeaders=true" />
您可以使用属性X-forwarded-for提取exchange标头中的ip:


字符串ip=exchange.getIn.getHeaderX-forwarded-for

谢谢你的指针@Ralf。我尝试添加行,但在容器日志中没有看到任何内容。我已经在处理器中查看了Exchange属性和消息头,但没有看到任何内容。我是否希望通过转储标题看到不同的内容?不,结果是一样的。
<camel:to uri="log:dump.headers?level=DEBUG&amp;showHeaders=true" />