如何使用Camel将Servlet配置为HazelCast路由

时间:2013-12-09 23:15:32

标签: apache-camel hazelcast

我想建立类似

的路线
<route>
  <from uri="servlet:///user?matchOnUriPrefix=true"/>
  <to uri="direct:put"/>
</route>

<route>
<from uri="direct:put"/>
<setHeader headerName="CamelHazelcastOperationType">
<constant>put</constant>
</setHeader>
<to uri="hazelcast:map:foo"/>
</route>

即匹配POST的所有内容:/ user / {cachename} / {key1}应将key1作为键,并将有效负载置于key:key1下以映射:{cachename}。

同样的事情

GET:/ user / {cachename} / {key1}应该将{key1}作为密钥,并从map:{cachename}中检索key1下的有效负载。

任何帮助都将受到高度赞赏。

谢谢,

1 个答案:

答案 0 :(得分:1)

您应该从传入的servlet中获得许多Camel标头,例如:

  • CamelHttpMethod = GET
  • CamelHttpPath = / user / {cachename} / {key1}

您可以使用代码或表达式语言从那里提取信息,一个非常基本的例子是:

<setHeader headerName="cachename">
    <simple>${header.CamelHttpPath.split("/")[2]}</simple>
</setHeader>

<setHeader headerName="key1">
    <simple>${header.CamelHttpPath.split("/")[3]}</simple>
</setHeader>