当前位置: 首页 > 知识库问答 >
问题:

将拦截器添加到骆驼路线

蒲勇
2023-03-14

我正在开发一个使用Apache Camel Routes来处理请求的应用程序。我想给每条路由添加缓存。因此,如果请求的数据已经在缓存中,我们不需要在路由中执行处理,否则将执行路由逻辑

我想知道我们如何透明地为每条路由添加缓存。我最初想到的是在路由开始时添加对缓存内容的检查,并根据结果继续。另外,在路由结束时将路由响应添加到缓存中。但是,我认为这种方法使缓存逻辑与路由逻辑相结合。但是,我们仍然知道缓存什么,以及如果它在路由范围内,是否需要缓存。

我正在寻找一种方法,我可以使用它将其添加为Aspect,就像在AOP中一样。

这在骆驼是可能的吗。我看到骆驼上有一个拦截器。但是,它仍然是路由的一部分,因此没有与路由逻辑分离。

我们是否可以透明地向每个路由添加缓存。

共有1个答案

宗鸿博
2023-03-14

我从未使用过它,但也许缓存组件可以帮助你,参见http://camel.apache.org/cache.html.

因此,在您的情况下,调用检查操作,如果数据存在,则结束路由,如果不存在,则调用添加操作,并对路由做进一步处理。

 类似资料:
  • 如何在Java的运行时添加骆驼路线?我找到了一个Grails示例,但我已经在Java实现了它。 我的应用程序上下文。xml已经有一些预定义的静态路由,我想在运行时向它添加一些动态路由。可能吗?因为包含动态路由的唯一方法是编写路由。然后将路由定义加载到上下文。它将如何在现有的静态路由上工作?运行时路由

  • 问题内容: 我将这个拦截器添加到我的OkHttp客户端中: 如何在拦截器中添加标题以进行请求? 我尝试了这个,但是我犯错了,创建新请求时我丢失了请求: 请注意,我知道我可以在创建请求时添加标头,如下所示: 但这不符合我的需求。我在拦截器中需要它。 问题答案: 最后,我以这种方式添加了标题:

  • 我想在我的Quarkus应用程序中添加一个HTTP拦截器,这样我就可以拦截所有HTTP请求。如何实现?

  • 谢谢你的提示 问候Rizzi

  • 以下是我的Spring应用程序的相关部分: 上面的方法从未被调用。我需要成为一个Spring bean,因为我需要向它注入其他依赖项。 以下是文件的相关部分:

  • 问题内容: 我正在尝试从骆驼路线中删除一些样板。 例如,让我们考虑两条路线,它们是相似的,并且它们的大部分内部物质都可以生成。我已经创建了一个组件“模板”,该模板创建了,并修改了XML配置以使用模板组件。 正在从中定义自定义方法(添加路线定义)。因此,在启动Camel上下文时,路由定义会出现在上下文中,但是框架不会为其创建路由服务,因此它们不会启动。 如何开始添加路线? 可能我遇到了XY问题,您可