Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * Copyright (c) 2010-2011. Axon Framework
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.axonframework.eventhandling;
Abstract Cluster implementation that keeps track of Cluster members (EventListeners). This implementation is thread-safe. The getMembers() method returns a read-only runtime view of the members in the cluster.

Author(s):
Allard Buijze
Since:
1.2
public abstract class AbstractCluster implements Cluster {
    private final Set<EventListenereventListeners = new CopyOnWriteArraySet<EventListener>();
    private final Set<EventListenerimmutableEventListeners = Collections.unmodifiableSet();
    private final ClusterMetaData clusterMetaData = new DefaultClusterMetaData();
    @Override
    public void subscribe(EventListener eventListener) {
        .add(eventListener);
    }
    @Override
    public void unsubscribe(EventListener eventListener) {
        .remove(eventListener);
    }
    @Override
    public ClusterMetaData getMetaData() {
        return ;
    }

    

This implementation returns a real-time view on the actual members, which changes when members join or leave the cluster. Iterators created from the returned set are thread-safe and iterate over the members available at the time the iterator was created. The iterator does not allow the java.util.Iterator.remove() method to be invoked.

    @Override
    public Set<EventListenergetMembers() {
        return ;
    }
New to GrepCode? Check out our FAQ X