具有相同路径和不同动词的Restlet

时间:2014-01-21 05:47:19

标签: apache-camel restlet

我有以下有趣的情况。我有一个带有三个动词的路径:GET,DELETE,POST。它们对应于Camel上下文中的三个路由。我的观察是,如果三条路线都在同一个Camel上下文中,那么每条路线都运行良好。但是如果路线在不同的骆驼环境中,则只有其中一个有效。到目前为止,我注意到DELETE wworks和其他两个停止工作。我的示例上下文如下:

<camel:camelContext  id="get-test" autoStartup="true">

        <camel:route>
            <camel:from uri="restlet:/path?restletMethod=DELETE"></camel:from>
            <camel:transform>
                <camel:constant>Hi Delete</camel:constant>
             </camel:transform>
        </camel:route>
        <camel:route>
            <camel:from uri="restlet:/path?restletMethod=GET"></camel:from>
            <camel:transform>
                <camel:constant>Hi Get</camel:constant>
             </camel:transform>
        </camel:route>
        <camel:route>
            <camel:from uri="restlet:/path?restletMethod=POST"></camel:from>
            <camel:transform>
                <camel:constant>Hi Post</camel:constant>
             </camel:transform>
        </camel:route>
</camel:camelContext>

所以,以上就是工作场景。无效的方案如下所示,有三种不同的背景:

<camel:camelContext  id="delete-test" autoStartup="true">

        <camel:route>
            <camel:from uri="restlet:/path?restletMethod=DELETE"></camel:from>
            <camel:transform>
                <camel:constant>Hi Delete</camel:constant>
             </camel:transform>
        </camel:route>
</camel:camelContext>

<camel:camelContext  id="get-test" autoStartup="true">

        <camel:route>
            <camel:from uri="restlet:/path?restletMethod=GET"></camel:from>
            <camel:transform>
                <camel:constant>Hi Get</camel:constant>
             </camel:transform>
        </camel:route>

</camel:camelContext>

<camel:camelContext  id="post-test" autoStartup="true">


        <camel:route>
            <camel:from uri="restlet:/path?restletMethod=POST"></camel:from>
            <camel:transform>
                <camel:constant>Hi Post</camel:constant>
             </camel:transform>
        </camel:route>
</camel:camelContext>

也许我在骆驼规范中遗漏了一些禁止这种配置的东西?

1 个答案:

答案 0 :(得分:0)

是的,不支持此功能。选择处理消息的路由的逻辑仅使用上下文路径作为逻辑的一部分。

不确定添加restletMethod以及选择逻辑的一部分是多么容易。随意记录JIRA票,并深入了解代码以进行贡献。我们喜欢贡献: http://camel.apache.org/contributing

相关问题