174.5. 预定义的过滤器

从 Camel 版本 2.13.0 开始,JGroups 组件附带预定义过滤器工厂类,名为 JGroupsFilters。

如果您希望仅使用发送到集群的通知更改通知(并忽略这些发送到"从"节点),请使用 JGroupsFilters.dropNonCoordinatorViews () 过滤器。当您希望单个 Camel 节点成为集群中的 master 时,此过滤器特别有用,因为传递此过滤器的消息会在指定节点成为协调集群时通知您。以下代码片段演示了如何仅收集 master 节点接收的消息。

import static org.apache.camel.component.jgroups.JGroupsFilters.dropNonCoordinatorViews;
...
from("jgroups:clusterName?enableViewMessages=true").
  filter(dropNonCoordinatorViews()).
  to("seda:masterNodeEventsQueue");