From 226a5f80a247745313c80267a88587c425afff16 Mon Sep 17 00:00:00 2001 From: nathan Date: Wed, 4 Feb 2015 01:44:40 +0100 Subject: [PATCH] Moved error handling, code polish --- .../engio/mbassy/{_misc => }/BusFactory.java | 3 +- .../mbassy/{bus/common => }/IMessageBus.java | 4 ++- .../{bus/common => }/PubSubSupport.java | 6 ++-- .../mbassy/bus/AbstractPubSubSupport.java | 23 ++++++++------- .../bus/AbstractSyncAsyncMessageBus.java | 2 +- .../net/engio/mbassy/bus/DeadMessage.java | 12 ++++++-- .../java/net/engio/mbassy/bus/MBassador.java | 2 +- .../net/engio/mbassy/bus/SyncMessageBus.java | 2 +- .../mbassy/bus/common/PublicationEvent.java | 21 -------------- .../ErrorHandlingSupport.java | 7 +++-- .../mbassy/bus/error/MessageBusException.java | 2 +- .../bus/error/MissingPropertyException.java | 14 --------- .../mbassy/bus/error/PublicationError.java | 7 ++--- .../mbassy/subscription/Subscription.java | 29 +++++-------------- .../subscription/SubscriptionManager.java | 8 ++--- .../net/engio/mbassy/AsyncFIFOBusTest.java | 2 -- .../net/engio/mbassy/MethodDispatchTest.java | 1 - .../engio/mbassy/SubscriptionManagerTest.java | 7 ++--- .../java/net/engio/mbassy/SyncBusTest.java | 2 -- .../engio/mbassy/SynchronizedHandlerTest.java | 1 - .../net/engio/mbassy/common/TestUtil.java | 2 +- 21 files changed, 52 insertions(+), 105 deletions(-) rename src/main/java/net/engio/mbassy/{_misc => }/BusFactory.java (95%) rename src/main/java/net/engio/mbassy/{bus/common => }/IMessageBus.java (98%) rename src/main/java/net/engio/mbassy/{bus/common => }/PubSubSupport.java (95%) delete mode 100644 src/main/java/net/engio/mbassy/bus/common/PublicationEvent.java rename src/main/java/net/engio/mbassy/bus/{common => error}/ErrorHandlingSupport.java (89%) delete mode 100644 src/main/java/net/engio/mbassy/bus/error/MissingPropertyException.java diff --git a/src/main/java/net/engio/mbassy/_misc/BusFactory.java b/src/main/java/net/engio/mbassy/BusFactory.java similarity index 95% rename from src/main/java/net/engio/mbassy/_misc/BusFactory.java rename to src/main/java/net/engio/mbassy/BusFactory.java index e289f10..c5ceca9 100644 --- a/src/main/java/net/engio/mbassy/_misc/BusFactory.java +++ b/src/main/java/net/engio/mbassy/BusFactory.java @@ -1,8 +1,7 @@ -package net.engio.mbassy._misc; +package net.engio.mbassy; import net.engio.mbassy.bus.MBassador; import net.engio.mbassy.bus.SyncMessageBus; -import net.engio.mbassy.bus.common.IMessageBus; import net.engio.mbassy.bus.config.BusConfiguration; import net.engio.mbassy.bus.config.Feature; diff --git a/src/main/java/net/engio/mbassy/bus/common/IMessageBus.java b/src/main/java/net/engio/mbassy/IMessageBus.java similarity index 98% rename from src/main/java/net/engio/mbassy/bus/common/IMessageBus.java rename to src/main/java/net/engio/mbassy/IMessageBus.java index ec45c8c..6c52321 100644 --- a/src/main/java/net/engio/mbassy/bus/common/IMessageBus.java +++ b/src/main/java/net/engio/mbassy/IMessageBus.java @@ -1,7 +1,9 @@ -package net.engio.mbassy.bus.common; +package net.engio.mbassy; import java.util.concurrent.Executor; +import net.engio.mbassy.bus.error.ErrorHandlingSupport; + /** * A message bus offers facilities for publishing messages to the message handlers of registered listeners. * A message publication starts when an object is send to the bus using one of the its publication methods. diff --git a/src/main/java/net/engio/mbassy/bus/common/PubSubSupport.java b/src/main/java/net/engio/mbassy/PubSubSupport.java similarity index 95% rename from src/main/java/net/engio/mbassy/bus/common/PubSubSupport.java rename to src/main/java/net/engio/mbassy/PubSubSupport.java index 8b5df84..eba9a7f 100644 --- a/src/main/java/net/engio/mbassy/bus/common/PubSubSupport.java +++ b/src/main/java/net/engio/mbassy/PubSubSupport.java @@ -1,4 +1,4 @@ -package net.engio.mbassy.bus.common; +package net.engio.mbassy; import java.util.concurrent.TimeUnit; @@ -43,7 +43,7 @@ public interface PubSubSupport { /** - * Execute the message publication asynchronously. The behaviour of this method depends on the + * Execute the message publication asynchronously. The behavior of this method depends on the * configured queuing strategy: *

* If an unbound queuing strategy is used the call returns immediately. @@ -52,7 +52,7 @@ public interface PubSubSupport { void publishAsync(T message); /** - * Execute the message publication asynchronously. The behaviour of this method depends on the + * Execute the message publication asynchronously. The behavior of this method depends on the * configured queuing strategy: *

* If an unbound queuing strategy is used the call returns immediately. diff --git a/src/main/java/net/engio/mbassy/bus/AbstractPubSubSupport.java b/src/main/java/net/engio/mbassy/bus/AbstractPubSubSupport.java index 5244ed2..bfb2638 100644 --- a/src/main/java/net/engio/mbassy/bus/AbstractPubSubSupport.java +++ b/src/main/java/net/engio/mbassy/bus/AbstractPubSubSupport.java @@ -5,9 +5,10 @@ import java.util.Collection; import java.util.Collections; import java.util.List; -import net.engio.mbassy.bus.common.PubSubSupport; +import net.engio.mbassy.PubSubSupport; import net.engio.mbassy.bus.config.Feature; import net.engio.mbassy.bus.config.IBusConfiguration; +import net.engio.mbassy.bus.error.ErrorHandlingSupport; import net.engio.mbassy.bus.error.IPublicationErrorHandler; import net.engio.mbassy.bus.error.PublicationError; import net.engio.mbassy.subscription.Subscription; @@ -18,9 +19,9 @@ import net.engio.mbassy.subscription.SubscriptionManager; * * @param */ -public abstract class AbstractPubSubSupport implements PubSubSupport { - +public abstract class AbstractPubSubSupport implements PubSubSupport, ErrorHandlingSupport { + // error handling is first-class functionality // this handler will receive all errors that occur during message dispatch or message handling private final List errorHandlers = new ArrayList(); @@ -30,9 +31,10 @@ public abstract class AbstractPubSubSupport implements PubSubSupport { public AbstractPubSubSupport(IBusConfiguration configuration) { // configure the pub sub feature Feature.SyncPubSub pubSubFeature = configuration.getFeature(Feature.SyncPubSub.class); - this.subscriptionManager = new SubscriptionManager(pubSubFeature.getMetadataReader(), getRegisteredErrorHandlers()); + this.subscriptionManager = new SubscriptionManager(pubSubFeature.getMetadataReader()); } + @Override public Collection getRegisteredErrorHandlers() { return Collections.unmodifiableCollection(this.errorHandlers); } @@ -49,8 +51,9 @@ public abstract class AbstractPubSubSupport implements PubSubSupport { } + @Override public final void addErrorHandler(IPublicationErrorHandler handler) { - synchronized (this){ + synchronized (this.errorHandlers) { this.errorHandlers.add(handler); } } @@ -65,13 +68,13 @@ public abstract class AbstractPubSubSupport implements PubSubSupport { DeadMessage deadMessage = new DeadMessage(message); for (Subscription sub : subscriptions) { - sub.publishToSubscription(deadMessage); + sub.publishToSubscription(this, deadMessage); } } else { boolean delivered = false; boolean success = false; for (Subscription sub : subscriptions) { - delivered = sub.publishToSubscription(message); + delivered = sub.publishToSubscription(this, message); if (delivered) { success = true; } @@ -85,7 +88,7 @@ public abstract class AbstractPubSubSupport implements PubSubSupport { DeadMessage deadMessage = new DeadMessage(message); for (Subscription sub : subscriptions) { - sub.publishToSubscription(deadMessage); + sub.publishToSubscription(this, deadMessage); } } } @@ -104,10 +107,10 @@ public abstract class AbstractPubSubSupport implements PubSubSupport { } - public void handlePublicationError(PublicationError error) { + @Override + public final void handlePublicationError(PublicationError error) { for (IPublicationErrorHandler errorHandler : this.errorHandlers) { errorHandler.handleError(error); } } - } diff --git a/src/main/java/net/engio/mbassy/bus/AbstractSyncAsyncMessageBus.java b/src/main/java/net/engio/mbassy/bus/AbstractSyncAsyncMessageBus.java index 6b38206..004697e 100644 --- a/src/main/java/net/engio/mbassy/bus/AbstractSyncAsyncMessageBus.java +++ b/src/main/java/net/engio/mbassy/bus/AbstractSyncAsyncMessageBus.java @@ -8,7 +8,7 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.TimeUnit; -import net.engio.mbassy.bus.common.IMessageBus; +import net.engio.mbassy.IMessageBus; import net.engio.mbassy.bus.config.Feature; import net.engio.mbassy.bus.config.IBusConfiguration; import net.engio.mbassy.bus.error.PublicationError; diff --git a/src/main/java/net/engio/mbassy/bus/DeadMessage.java b/src/main/java/net/engio/mbassy/bus/DeadMessage.java index b197dc2..a4eb194 100644 --- a/src/main/java/net/engio/mbassy/bus/DeadMessage.java +++ b/src/main/java/net/engio/mbassy/bus/DeadMessage.java @@ -1,6 +1,5 @@ package net.engio.mbassy.bus; -import net.engio.mbassy.bus.common.PublicationEvent; /** * The dead message event is published whenever no message @@ -9,9 +8,16 @@ import net.engio.mbassy.bus.common.PublicationEvent; * @author bennidi * Date: 1/18/13 */ -public final class DeadMessage extends PublicationEvent { +public final class DeadMessage { + + private Object relatedMessage; + DeadMessage(Object message) { - super(message); + this.relatedMessage = message; + } + + public Object getMessage() { + return this.relatedMessage; } } diff --git a/src/main/java/net/engio/mbassy/bus/MBassador.java b/src/main/java/net/engio/mbassy/bus/MBassador.java index 243d4ec..29d43cc 100644 --- a/src/main/java/net/engio/mbassy/bus/MBassador.java +++ b/src/main/java/net/engio/mbassy/bus/MBassador.java @@ -2,7 +2,7 @@ package net.engio.mbassy.bus; import java.util.concurrent.TimeUnit; -import net.engio.mbassy.bus.common.IMessageBus; +import net.engio.mbassy.IMessageBus; import net.engio.mbassy.bus.config.BusConfiguration; import net.engio.mbassy.bus.config.Feature; import net.engio.mbassy.bus.config.IBusConfiguration; diff --git a/src/main/java/net/engio/mbassy/bus/SyncMessageBus.java b/src/main/java/net/engio/mbassy/bus/SyncMessageBus.java index f1246fe..f9079e7 100644 --- a/src/main/java/net/engio/mbassy/bus/SyncMessageBus.java +++ b/src/main/java/net/engio/mbassy/bus/SyncMessageBus.java @@ -3,7 +3,7 @@ package net.engio.mbassy.bus; import java.util.concurrent.Executor; import java.util.concurrent.TimeUnit; -import net.engio.mbassy.bus.common.IMessageBus; +import net.engio.mbassy.IMessageBus; import net.engio.mbassy.bus.config.IBusConfiguration; import net.engio.mbassy.bus.error.PublicationError; diff --git a/src/main/java/net/engio/mbassy/bus/common/PublicationEvent.java b/src/main/java/net/engio/mbassy/bus/common/PublicationEvent.java deleted file mode 100644 index e1f81f2..0000000 --- a/src/main/java/net/engio/mbassy/bus/common/PublicationEvent.java +++ /dev/null @@ -1,21 +0,0 @@ -package net.engio.mbassy.bus.common; - -/** - * A wrapped event is created when various conditions are matched (these depend on the concrete - * (sub)type of wrapped event). - * - * @author bennidi - * Date: 3/1/13 - */ -public abstract class PublicationEvent { - - private Object relatedMessage; - - public PublicationEvent(Object message) { - this.relatedMessage = message; - } - - public Object getMessage() { - return relatedMessage; - } -} diff --git a/src/main/java/net/engio/mbassy/bus/common/ErrorHandlingSupport.java b/src/main/java/net/engio/mbassy/bus/error/ErrorHandlingSupport.java similarity index 89% rename from src/main/java/net/engio/mbassy/bus/common/ErrorHandlingSupport.java rename to src/main/java/net/engio/mbassy/bus/error/ErrorHandlingSupport.java index 4ac9fe9..2d69b24 100644 --- a/src/main/java/net/engio/mbassy/bus/common/ErrorHandlingSupport.java +++ b/src/main/java/net/engio/mbassy/bus/error/ErrorHandlingSupport.java @@ -1,6 +1,4 @@ -package net.engio.mbassy.bus.common; - -import net.engio.mbassy.bus.error.IPublicationErrorHandler; +package net.engio.mbassy.bus.error; import java.util.Collection; @@ -17,6 +15,9 @@ public interface ErrorHandlingSupport { */ void addErrorHandler(IPublicationErrorHandler errorHandler); + void handlePublicationError(PublicationError error); + + /** * Returns an immutable collection containing all the registered error handlers * diff --git a/src/main/java/net/engio/mbassy/bus/error/MessageBusException.java b/src/main/java/net/engio/mbassy/bus/error/MessageBusException.java index bbc6b6f..01a62a3 100644 --- a/src/main/java/net/engio/mbassy/bus/error/MessageBusException.java +++ b/src/main/java/net/engio/mbassy/bus/error/MessageBusException.java @@ -6,7 +6,7 @@ package net.engio.mbassy.bus.error; * @author bennidi * Date: 3/29/13 */ -public class MessageBusException extends Exception{ +public class MessageBusException extends Exception { public MessageBusException() { } diff --git a/src/main/java/net/engio/mbassy/bus/error/MissingPropertyException.java b/src/main/java/net/engio/mbassy/bus/error/MissingPropertyException.java deleted file mode 100644 index 29e75ac..0000000 --- a/src/main/java/net/engio/mbassy/bus/error/MissingPropertyException.java +++ /dev/null @@ -1,14 +0,0 @@ -package net.engio.mbassy.bus.error; - -/** - * This exception is thrown when a property value that is unavailable at runtime is accessed. - * It indicates that some parts of the runtime configuration are actually incompatible, - * i.e. one component is trying to access a feature of another component that does not - * provide the feature (e.g. asynchronous functionality within a synchronous bus) - */ -public class MissingPropertyException extends RuntimeException { - - public MissingPropertyException(String message) { - super(message); - } -} diff --git a/src/main/java/net/engio/mbassy/bus/error/PublicationError.java b/src/main/java/net/engio/mbassy/bus/error/PublicationError.java index 03013ff..9e53c29 100644 --- a/src/main/java/net/engio/mbassy/bus/error/PublicationError.java +++ b/src/main/java/net/engio/mbassy/bus/error/PublicationError.java @@ -12,7 +12,7 @@ import java.lang.reflect.Method; * Date: 2/22/12 * Time: 4:59 PM */ -public class PublicationError{ +public class PublicationError { // Internal state private Throwable cause; @@ -37,11 +37,10 @@ public class PublicationError{ final Object listener, final Object publishedObject) { - this.cause = cause; - this.message = message; + this(cause, message, publishedObject); + this.handler = handler; this.listener = listener; - this.publishedObject = publishedObject; } public PublicationError(final Throwable cause, diff --git a/src/main/java/net/engio/mbassy/subscription/Subscription.java b/src/main/java/net/engio/mbassy/subscription/Subscription.java index 594a0d3..87cea4a 100644 --- a/src/main/java/net/engio/mbassy/subscription/Subscription.java +++ b/src/main/java/net/engio/mbassy/subscription/Subscription.java @@ -2,9 +2,8 @@ package net.engio.mbassy.subscription; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; -import java.util.Collection; -import net.engio.mbassy.bus.error.IPublicationErrorHandler; +import net.engio.mbassy.bus.error.ErrorHandlingSupport; import net.engio.mbassy.bus.error.PublicationError; import net.engio.mbassy.common.IConcurrentSet; import net.engio.mbassy.dispatch.IHandlerInvocation; @@ -27,18 +26,11 @@ public class Subscription { // the handler's metadata -> for each handler in a listener, a unique subscription context is created private final MessageHandler handlerMetadata; - // error handling is first-class functionality - private final Collection errorHandlers; - private final IHandlerInvocation invocation; - protected final IConcurrentSet listeners; - Subscription(MessageHandler handler, Collection errorHandlers, - IHandlerInvocation invocation, IConcurrentSet listeners) { - + Subscription(MessageHandler handler, IHandlerInvocation invocation, IConcurrentSet listeners) { this.handlerMetadata = handler; - this.errorHandlers = errorHandlers; this.invocation = invocation; this.listeners = listeners; } @@ -78,7 +70,7 @@ public class Subscription { /** * @return TRUE if there were listeners/handlers available to publish to */ - public boolean publishToSubscription(Object message){ + public boolean publishToSubscription(ErrorHandlingSupport errorHandler, Object message){ if (this.listeners.size() > 0) { /** @@ -96,20 +88,20 @@ public class Subscription { try { this.invocation.invoke(listener, message, handler); } catch (IllegalAccessException e) { - handlePublicationError(new PublicationError(e, "Error during invocation of message handler. " + + errorHandler.handlePublicationError(new PublicationError(e, "Error during invocation of message handler. " + "The class or method is not accessible", handler, listener, message)); } catch (IllegalArgumentException e) { - handlePublicationError(new PublicationError(e, "Error during invocation of message handler. " + + errorHandler.handlePublicationError(new PublicationError(e, "Error during invocation of message handler. " + "Wrong arguments passed to method. Was: " + message.getClass() + "Expected: " + handler.getParameterTypes()[0], handler, listener, message)); } catch (InvocationTargetException e) { - handlePublicationError( new PublicationError(e, "Error during invocation of message handler. " + + errorHandler.handlePublicationError( new PublicationError(e, "Error during invocation of message handler. " + "Message handler threw exception", handler, listener, message)); } catch (Throwable e) { - handlePublicationError( new PublicationError(e, "Error during invocation of message handler. " + + errorHandler.handlePublicationError( new PublicationError(e, "Error during invocation of message handler. " + "The handler code threw an exception", handler, listener, message)); } @@ -121,13 +113,6 @@ public class Subscription { return false; } - - private final void handlePublicationError(PublicationError error) { - for (IPublicationErrorHandler handler : this.errorHandlers) { - handler.handleError(error); - } - } - public void subscribe(Object o) { this.listeners.add(o); } diff --git a/src/main/java/net/engio/mbassy/subscription/SubscriptionManager.java b/src/main/java/net/engio/mbassy/subscription/SubscriptionManager.java index 4d04035..494df56 100644 --- a/src/main/java/net/engio/mbassy/subscription/SubscriptionManager.java +++ b/src/main/java/net/engio/mbassy/subscription/SubscriptionManager.java @@ -9,7 +9,6 @@ import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.locks.ReentrantReadWriteLock; -import net.engio.mbassy.bus.error.IPublicationErrorHandler; import net.engio.mbassy.bus.error.MessageBusException; import net.engio.mbassy.common.ReflectionUtils; import net.engio.mbassy.common.WeakConcurrentSet; @@ -52,12 +51,9 @@ public class SubscriptionManager { // synchronize read/write acces to the subscription maps private final ReentrantReadWriteLock readWriteLock = new ReentrantReadWriteLock(); - // error handling is first-class functionality - private final Collection errorHandlers; - public SubscriptionManager(MetadataReader metadataReader, Collection errorHandlers) { + public SubscriptionManager(MetadataReader metadataReader) { this.metadataReader = metadataReader; - this.errorHandlers = errorHandlers; } @@ -117,7 +113,7 @@ public class SubscriptionManager { invocation = new SynchronizedHandlerInvocation(invocation); } - Subscription subscription = new Subscription(messageHandler, this.errorHandlers, invocation, new WeakConcurrentSet()); + Subscription subscription = new Subscription(messageHandler, invocation, new WeakConcurrentSet()); subscriptionsByListener.add(subscription); } catch (Exception e) { throw new MessageBusException(e); diff --git a/src/test/java/net/engio/mbassy/AsyncFIFOBusTest.java b/src/test/java/net/engio/mbassy/AsyncFIFOBusTest.java index 277d02a..cf3c56a 100644 --- a/src/test/java/net/engio/mbassy/AsyncFIFOBusTest.java +++ b/src/test/java/net/engio/mbassy/AsyncFIFOBusTest.java @@ -3,9 +3,7 @@ package net.engio.mbassy; import java.util.LinkedList; import java.util.List; -import net.engio.mbassy._misc.BusFactory; import net.engio.mbassy.annotations.Handler; -import net.engio.mbassy.bus.common.IMessageBus; import net.engio.mbassy.common.MessageBusTest; import org.junit.Test; diff --git a/src/test/java/net/engio/mbassy/MethodDispatchTest.java b/src/test/java/net/engio/mbassy/MethodDispatchTest.java index 5f50803..3fa868d 100644 --- a/src/test/java/net/engio/mbassy/MethodDispatchTest.java +++ b/src/test/java/net/engio/mbassy/MethodDispatchTest.java @@ -1,7 +1,6 @@ package net.engio.mbassy; import net.engio.mbassy.annotations.Handler; -import net.engio.mbassy.bus.common.IMessageBus; import net.engio.mbassy.common.MessageBusTest; import org.junit.Test; diff --git a/src/test/java/net/engio/mbassy/SubscriptionManagerTest.java b/src/test/java/net/engio/mbassy/SubscriptionManagerTest.java index f828acf..19e94b3 100644 --- a/src/test/java/net/engio/mbassy/SubscriptionManagerTest.java +++ b/src/test/java/net/engio/mbassy/SubscriptionManagerTest.java @@ -1,8 +1,5 @@ package net.engio.mbassy; -import java.util.Collections; - -import net.engio.mbassy.bus.error.IPublicationErrorHandler; import net.engio.mbassy.common.AssertSupport; import net.engio.mbassy.common.ConcurrentExecutor; import net.engio.mbassy.common.ListenerFactory; @@ -166,7 +163,7 @@ public class SubscriptionManagerTest extends AssertSupport { Overloading.ListenerBase.class, Overloading.ListenerSub.class); - SubscriptionManager subscriptionManager = new SubscriptionManager(new MetadataReader(), Collections.emptyList()); + SubscriptionManager subscriptionManager = new SubscriptionManager(new MetadataReader()); ConcurrentExecutor.runConcurrent(TestUtil.subscriber(subscriptionManager, listeners), ConcurrentUnits); SubscriptionValidator expectedSubscriptions = new SubscriptionValidator(listeners) @@ -185,7 +182,7 @@ public class SubscriptionManagerTest extends AssertSupport { } private void runTestWith(final ListenerFactory listeners, final SubscriptionValidator validator){ - final SubscriptionManager subscriptionManager = new SubscriptionManager(new MetadataReader(), Collections.emptyList()); + final SubscriptionManager subscriptionManager = new SubscriptionManager(new MetadataReader()); ConcurrentExecutor.runConcurrent(TestUtil.subscriber(subscriptionManager, listeners), ConcurrentUnits); diff --git a/src/test/java/net/engio/mbassy/SyncBusTest.java b/src/test/java/net/engio/mbassy/SyncBusTest.java index c06119c..fa121fc 100644 --- a/src/test/java/net/engio/mbassy/SyncBusTest.java +++ b/src/test/java/net/engio/mbassy/SyncBusTest.java @@ -2,9 +2,7 @@ package net.engio.mbassy; import java.util.concurrent.atomic.AtomicInteger; -import net.engio.mbassy._misc.BusFactory; import net.engio.mbassy.bus.MBassador; -import net.engio.mbassy.bus.common.IMessageBus; import net.engio.mbassy.bus.error.IPublicationErrorHandler; import net.engio.mbassy.bus.error.PublicationError; import net.engio.mbassy.common.ConcurrentExecutor; diff --git a/src/test/java/net/engio/mbassy/SynchronizedHandlerTest.java b/src/test/java/net/engio/mbassy/SynchronizedHandlerTest.java index 4cd81fc..820b35f 100644 --- a/src/test/java/net/engio/mbassy/SynchronizedHandlerTest.java +++ b/src/test/java/net/engio/mbassy/SynchronizedHandlerTest.java @@ -6,7 +6,6 @@ import java.util.concurrent.atomic.AtomicInteger; import net.engio.mbassy.annotations.Handler; import net.engio.mbassy.annotations.Synchronized; -import net.engio.mbassy.bus.common.IMessageBus; import net.engio.mbassy.bus.config.Feature; import net.engio.mbassy.bus.config.IBusConfiguration; import net.engio.mbassy.common.MessageBusTest; diff --git a/src/test/java/net/engio/mbassy/common/TestUtil.java b/src/test/java/net/engio/mbassy/common/TestUtil.java index 3976068..7455d91 100644 --- a/src/test/java/net/engio/mbassy/common/TestUtil.java +++ b/src/test/java/net/engio/mbassy/common/TestUtil.java @@ -1,7 +1,7 @@ package net.engio.mbassy.common; +import net.engio.mbassy.PubSubSupport; import net.engio.mbassy.bus.MBassador; -import net.engio.mbassy.bus.common.PubSubSupport; import net.engio.mbassy.subscription.SubscriptionManager; import java.util.Iterator;