175.6. 预定义的过滤器
从 Camel 版本 2.13.0 开始,JGroups 组件附带了预定义的过滤器工厂类,名为 JGroupsFilters。
如果您希望只使用发送到集群的协调器的更改通知(并忽略这些发送到"slave"节点)的更改通知,请使用 JGroupsFilters.dropNonCoordinatorViews ()
过滤器。当您希望单个 Camel 节点成为集群中的主节点时,此过滤器特别有用,因为当给定节点成为集群的协调器时,传递此过滤器的消息会通知您。以下片段演示了如何仅收集 master 节点接收的消息。
import static org.apache.camel.component.jgroups.JGroupsFilters.dropNonCoordinatorViews; ... from("jgroups:clusterName?enableViewMessages=true"). filter(dropNonCoordinatorViews()). to("seda:masterNodeEventsQueue");
import static org.apache.camel.component.jgroups.JGroupsFilters.dropNonCoordinatorViews;
...
from("jgroups:clusterName?enableViewMessages=true").
filter(dropNonCoordinatorViews()).
to("seda:masterNodeEventsQueue");