我有一个CamelConfiguration
,它配置了15条路由
。
public class CamelRoutesConf extends CamelConfiguration {
@Override
public List<RouteBuilder> configure() {
List<RouteBuilder> routes = super.routes();
routes.forEach(router -> {
router.onException(Exception.class).delay(5000);
});
return routes;
}
}
我想实现的是检查路由内每个传入Message
(exchange.getHeaders()
)的标头,如果不存在,则添加标头。
我可以在每个RouteBuilder
中使用处理器
来实现这一点。例如。
public class ArtistHiredRouteBuilder extends RouteBuilder {
@Override
public void configure(){
from(incomingArtistsQ)
.process(new Processor(){
public void process(Exchange exchange){
exchange.getIn().setHeader("JMSCorrelationId", randomNumberOfLength10());
}
})
.to(outgoingArtistsQ)
}
目的是在所有交换消息之间使用相同的id,以便以后更容易关联它们。
那么,在CamelConfiguration(配置)中是否有一种驼峰方式来执行此操作,以使其适用于所有路线。
我预计拦截如下。
public class CamelRoutesConf extends CamelConfiguration {
@Override
public List<RouteBuilder> configure() {
List<RouteBuilder> routes = super.routes();
routes.forEach(router -> {
router.interceptFrom().process(headerProcessor)
router.onException(Exception.class).delay(5000);
});
}
}
它将被接受,但似乎不会继续使用<代码>。to()在每个RouteBuilder中。
http://camel.apache.org/intercept.html
http://www.davsclaus.com/2009/05/on-road-to-camel-20-interceptors-round.html
可以使用interceptFrom()子句为所有路由设置标头值
// intercept all incoming routes and do something...
interceptFrom().setHeader(JMSCorrelationId", randomNumberOfLength10());
拦截消息框 bp MessageBox(A) 创建消息框 bp MessageBoxExA 创建消息框 bp MessageBoxIndirect(A) 创建定制消息框
问题内容: 我试图拦截所有AJAX调用,以检查AJAX响应是否包含我从PHP脚本作为JSON发送的特定错误代码(代码:ACCESS_DENIED,SYSTEM_ERROR,NOT_FOUND)。 我知道一个人可以做这样的事情: 但是-仅在“ ajaxSuccess”事件起泡到.log div时才起作用吗?我对么?通过将“ ajaxSuccess”事件绑定到文档可以实现我想要的东西吗? 我可以在jQ
有可能截获所有的GCM消息吗?
问题内容: 我有一个有角度的应用程序,有时每个状态会执行多个$ http.get请求。该应用将JWT用于带有刷新令牌的用户身份验证。API服务器会发送由于身份验证错误而失败的每个请求。我做了一个请求,该请求在401错误时请求带有刷新令牌的新令牌,然后重新发送原始请求。 问题是,如果一个状态发出例如2个$ http.get请求,并且都获得401响应,那么我将访问令牌更新两次。显然,我只想刷新一次令牌
问题内容: 我似乎无法让$ httpProvider.interceptors实际进行拦截。我在JSFiddle上创建了一个示例,该示例记录了拦截器运行的时间以及$ http响应成功的时间。在成功返回响应之后,将运行请求拦截器。这似乎有些倒退。 我不能使用transformRequest,因为我需要更改配置中的参数。该部分未显示在示例中。 我正在使用AngularJS 1.1.5 http://j
我目前正在使用带有的Kafka绑定器的Spring Cloud Stream为我的Spring Boot微服务执行消息记录。 我有: 生产者将消息发布到订阅频道 在消息从生产者发布到流并被消费者收听的整个过程中,可以观察到preSend方法被触发了两次: 一次在生产者端-消息发布到流时 然而,出于日志记录的目的,我只需要在消费者端截获并记录消息。 是否有任何方法可以仅在一侧(例如消费者侧)截获SC