175.6. 预定义的过滤器
从 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");