【问题标题】:How to retrieve the protocol used by an Apache camel endpoint如何检索 Apache 骆驼端点使用的协议
【发布时间】:2017-02-23 14:09:58
【问题描述】:

我希望开发一个通用的 java bean,它将包含在我的所有骆驼路线中(用于个性化日志记录)。该路由将在处理器中调用我的 java 函数,并将交换对象(以及其他需要的东西)传递给它。

如何检测路由监听的第一个端点的类型?它可以来自 ftp、http、jms 等……根据端点协议,我想记录的相关信息位于不同的标头中,例如 ftp 的“CamelFileName”。

我有一个解决方法测试“CamelFilename”标头是否存在,然后我知道端点侦听 ftp 服务器,或者我可以解析端点URI,但是是否有更可靠/种子的函数来获得这个?

【问题讨论】:

    标签: java apache-camel protocols endpoint


    【解决方案1】:

    您可以使用 getFromEndpointgetFromRouteId 在 Exchange 上获取 from 路由。

    查看 Exchange javadoc:http://static.javadoc.io/org.apache.camel/camel-core/2.18.2/org/apache/camel/Exchange.html

    【讨论】:

    • 谢谢克劳斯。正如我所说,我可以检索端点,但无法找到它的哪些属性将为我提供协议。 getFromRouteId 还返回一个带有 URI 的字符串,你的意思是我需要在其中搜索子字符串吗?没有更精确的属性或函数来获取此信息?
    • 从端点你可以得到url,在那里你可以找到协议
    • 但这正是我在第一条消息中所说的。我可以这样做,但如果有更可靠的方法可以做到这一点,我愿意这样做,并具有真正的财产功能
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-05
    相关资源
    最近更新 更多