From 90ecbd60bdf4fafe4ffccc845586d76c3bfeb70e Mon Sep 17 00:00:00 2001 From: nathan Date: Mon, 29 Jun 2015 01:43:10 +0200 Subject: [PATCH] Added message bus --- Dorkbox-Util/src/dorkbox/util/MBus.java | 47 +++++++++++++++++++ Dorkbox-Util/src/dorkbox/util/MessageBus.java | 37 --------------- 2 files changed, 47 insertions(+), 37 deletions(-) create mode 100644 Dorkbox-Util/src/dorkbox/util/MBus.java delete mode 100644 Dorkbox-Util/src/dorkbox/util/MessageBus.java diff --git a/Dorkbox-Util/src/dorkbox/util/MBus.java b/Dorkbox-Util/src/dorkbox/util/MBus.java new file mode 100644 index 0000000..2f42d9d --- /dev/null +++ b/Dorkbox-Util/src/dorkbox/util/MBus.java @@ -0,0 +1,47 @@ +package dorkbox.util; + +import dorkbox.util.messagebus.IMessageBus; +import dorkbox.util.messagebus.MessageBus; +import dorkbox.util.messagebus.error.IPublicationErrorHandler; +import dorkbox.util.messagebus.error.PublicationError; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public +class MBus { + + public static final IMessageBus bus; + private static final Logger logger = LoggerFactory.getLogger(MBus.class); + + + static { + MessageBus messageBus = new MessageBus(OS.getOptimumNumberOfThreads() * 2); + + IPublicationErrorHandler ExceptionCounter = new IPublicationErrorHandler() { + @Override + public void handleError(PublicationError error) { + logger.error(error.toString()); + + if (error.getCause() != null) { + error.getCause().printStackTrace(); + } + } + + @Override + public + void handleError(final String error, final Class listenerClass) { + // Printout the error itself + logger.error(new StringBuilder().append(error).append(": ").append(listenerClass.getSimpleName()).toString()); + } + }; + + messageBus.getErrorHandler().addErrorHandler(ExceptionCounter); + messageBus.start(); + + bus = messageBus; + } + + private + MBus() { + } +} diff --git a/Dorkbox-Util/src/dorkbox/util/MessageBus.java b/Dorkbox-Util/src/dorkbox/util/MessageBus.java deleted file mode 100644 index e166ef8..0000000 --- a/Dorkbox-Util/src/dorkbox/util/MessageBus.java +++ /dev/null @@ -1,37 +0,0 @@ -package dorkbox.util; - -import net.engio.mbassy.IMessageBus; -import net.engio.mbassy.MBassador; -import net.engio.mbassy.error.IPublicationErrorHandler; -import net.engio.mbassy.error.PublicationError; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import dorkbox.util.OS; - -public class MessageBus { - - public static final IMessageBus bus; - private static final Logger logger = LoggerFactory.getLogger(MessageBus.class); - - - static { - MBassador mBassador = new MBassador(OS.getOptimumNumberOfThreads()*2); - - IPublicationErrorHandler ExceptionCounter = new IPublicationErrorHandler() { - @Override - public void handleError(PublicationError error) { - logger.error(error.toString()); - } - }; - - mBassador.addErrorHandler(ExceptionCounter); - mBassador.start(); - - bus = mBassador; - } - - private MessageBus() { - } -}