Added concrete SyncBus implementation

This commit is contained in:
benjamin 2013-04-03 09:39:00 +02:00
parent f5ecdefcd0
commit bf0ce9535b
2 changed files with 4 additions and 6 deletions

View File

@ -11,7 +11,6 @@ import net.engio.mbassy.subscription.SubscriptionContext;
import net.engio.mbassy.subscription.SubscriptionFactory;
import java.util.*;
import java.util.concurrent.*;
/**
* The base class for all message bus implementations.
@ -41,7 +40,7 @@ public abstract class AbstractSyncMessageBus<T, P extends ISyncMessageBus.ISyncP
private final Collection<Class> nonListeners = new HashSet<Class>();
// this handler will receive all errors that occur during message dispatch or message handling
private final List<IPublicationErrorHandler> errorHandlers = new CopyOnWriteArrayList<IPublicationErrorHandler>();
private final List<IPublicationErrorHandler> errorHandlers = new ArrayList<IPublicationErrorHandler>();
// this factory is used to create specialized subscriptions based on the given message handler configuration
// it can be customized by implementing the getSubscriptionFactory() method
@ -128,7 +127,9 @@ public abstract class AbstractSyncMessageBus<T, P extends ISyncMessageBus.ISyncP
public final void addErrorHandler(IPublicationErrorHandler handler) {
errorHandlers.add(handler);
synchronized (this){
errorHandlers.add(handler);
}
}
protected MessagePublication createMessagePublication(T message) {

View File

@ -1,10 +1,7 @@
package net.engio.mbassy.bus;
import net.engio.mbassy.PublicationError;
import net.engio.mbassy.common.DeadMessage;
import net.engio.mbassy.subscription.Subscription;
import java.util.Collection;
import java.util.concurrent.TimeUnit;