Upgraded RRiBbit to Java 8. This means that RRiBbit will skip Java 7. Java 6 and 7 users can use the 2.7.0 release instead.
Upgraded entire codebase to use Java 8 features.
Upgraded all libraries and static analysis rules to the latest versions.
Switched from Apache Commons Codec to native Java 8 for Base64 encoding. Dependency for Apache Commons Codec is now removed.
Switched from Log4J to Logback for unit test logging.
Switched from Cobertura to JaCoCo for unit test coverage.
Switched from Mortbay Jetty to Eclipse Jetty for unit test http testing.
Dropped Maven Dashboard plugin, as it does not support JaCoCo.
Various minor fixes in the documentation and the website.
When scanning packages for Listeners, you can now choose to scan subpackages as well. All constructors and methods that take a packagename now take a boolean as well, to indicate whether to scan subpackages, so if you use any of those constructors or methods, you will have to update your code.
It is now possible to specify the ClassLoader to use for getting classes from a package during package scanning. This can be done by overriding the getClassLoader() method in AbstractClassBasedListenerObjectCreator or any of its subclasses.
Various methods for finding classes in packages and jar files in AbstractClassBasedListenerObjectCreator are no longer static, so that they can be overridden if you have specific requirements.
Replaced Vector with CopyOnWriteArrayList for better performance, since reads will be much more frequent than writes in most use cases.
Added an image to explain RRiBbit Remoting where both sides are both sender and receiver of requests. See the Remoting page.
Upgraded all dependencies to the latest version and upgraded Maven from version 3.0.4 to version 3.1.0.
Various improvements to Javadoc.
ListenerObjectRetrievers now support multiple ListenerObjectCreators, so that the creation of ListenerObjects can be done in a modular way.
Improved logging performance.
Updated and improved documentation.
Added the creation of encrypted .asc files to the Maven build in preparation of publication in the Maven Central.
Switched to a publicly available Subversion Repository, also in preparation of publication in the Maven Central.
Fixed an issue where package based scanning for Listener annotations didn't work in certain cases when the class files were inside a jar.
Added support for multiple hints in one Listener.
Improved initialization time of SpringHttpRequestProcessorServlet.
Added a chapter in the documentation on Eventbuses in general.
Other minor documentation updates and improvements.
Improved RRiBbit HTTP Remoting Servlet creation.
Added Spring Integration for RRiBbit HTTP Remoting.
DefaultRequestResponseBus now supports multiple RequestDispatchers.
Added HTTP support to RRiBbit Remoting.
RmiRequestProcessorImpl now takes a ListenerObjectRetriever and a ListenerObjectExecutor directly, so you don't have to wire up your own LocalRequestProcessor anymore.
RRiBbitUtil has been moved to the org.rribbit.util package.
Added JMS support to RRiBbit Remoting.
Improved performance and logging.
Upgraded versions of all dependencies.
Updated and improved documentation.
Made RMI RequestDispatcher and RequestProcessor more extendable.
Fixed issue involving concurrent caching of requests.
Added RequestDispatcher and RequestProcessor to the chain of classes that process requests. This was done to create a separate layer on which Remoting could be implemented.
Added Request and Response objects, in order to facilitate Remoting. Response objects now contain all return values and exceptions and these are only extracted at the last stage.
Implemented LocalRequestDispatcher and LocalRequestProcessor, that just propagate requests locally.
Implemented RmiRequestDispatcher and RmiRequestProcessor, the first Remoting implementation of RRiBbit.
Renamed ListenerObjectCreationStrategy to ListenerObjectCreator, including implementations.
Renamed ListenerObjectRetrievalStrategy to ListenerObjectRetriever, including implementations.
Renamed ListenerObjectExecutionStrategy to ListenerObjectExecutor, including implementations.
Added RRiBbitUtil class for easy setup of local RRiBbit configuration.
Documentation was updated and restructured in order to facilitate a chapter on Remoting.
Renamed getters and setters of DefaultRequestResponseBus for consistency. This is not compilation compatible with 1.0.0, but the changes are trivial.
MultiThreadedListenerObjectExecutionStrategy no longer spawns a Thread if there is only 1 ListenerObject to be executed.
AbstractClassBasedListenerObjectCreationStrategy and its subclasses now support excluding classes from scanning when entire packages are scanned.
ObjectBasedListenerObjectCreationStrategy and its subclasses now support notification upon listener creation.
CachedListenerObjectRetrievalStrategy was added, for improved performance when retrieving ListenerObjects.
Improved documentation and javadoc.