@@ -0,0 +1,841 @@
+package org.jeecqrs.messaging;%0A%0A/**%0A * Publish-subscribe messaging system publisher supporting multiple topics%0A * per subscriber.%0A * Implementations must be thread-safe.%0A */%0Apublic interface MultiTopicPublisher%3CM%3E %7B%0A%0A    /**%0A     * Publishes a %7B@code message%7D in a given %7B@code topic%7D.%0A     * %0A     * @param topic    the topic the message%0A     * @param message  the message to be published%0A     */%0A    void publish(String topic, M message);%0A%0A    /**%0A     * Subscribes an interested listener.%0A     * %0A     * @param subscriber  the subscriber, not null, not subscribed already%0A     */%0A    void subscribe(MultiTopicSubscriber%3CM%3E subscriber);%0A%0A    /**%0A     * Unsubscribes a subscriber.%0A     * %0A     * @param subscriber  the subscriber to unsubscribe, not null, subscribed%0A     */%0A    void unsubscribe(MultiTopicSubscriber%3CM%3E subscriber);%0A    %0A%7D%0A

Add MultiTopicPublisher for pub-sub system