All Downloads are FREE. Search and download functionalities are using the official Maven repository.

entry-point.async-event-handler.handler-registry-configuration.mustache Maven / Gradle / Ivy

Go to download

Gradle plugin to create a clean application in Java that already works, It follows our best practices!

There is a newer version: 3.20.10
Show newest version
package {{package}}.events;
{{^eda}}
import {{package}}.events.handlers.CommandsHandler;
import {{package}}.events.handlers.EventsHandler;
import {{package}}.events.handlers.QueriesHandler;
import org.reactivecommons.async.api.HandlerRegistry;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
{{/eda}}
{{#eda}}
import {{package}}.events.handlers.CommandsHandler;
import {{package}}.events.handlers.EventsHandler;
import {{package}}.events.handlers.QueriesHandler;
import org.reactivecommons.async.api.HandlerRegistry;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import io.cloudevents.CloudEvent;
{{/eda}}

@Configuration
public class HandlerRegistryConfiguration {

    // see more at: https://reactivecommons.org/reactive-commons-java/#_handlerregistry_2
    @Bean
    public HandlerRegistry handlerRegistry(CommandsHandler commands, EventsHandler events, QueriesHandler queries) {
        {{#eda}}
         return HandlerRegistry.register()
                        .listenNotificationEvent("some.broadcast.event.name", events::handleEventA, CloudEvent.class)
                        .listenEvent("some.event.name", events::handleEventA, CloudEvent.class)
                        .handleCommand("some.command.name", commands::handleCommandA, CloudEvent.class)
                        .serveQuery("some.query.name", queries::handleQueryA, CloudEvent.class);
        {{/eda}}
        {{^eda}}
        return HandlerRegistry.register()
                .listenNotificationEvent("some.broadcast.event.name", events::handleEventA, Object.class/*change for proper model*/)
                .listenEvent("some.event.name", events::handleEventA, Object.class/*change for proper model*/)
                .handleCommand("some.command.name", commands::handleCommandA, Object.class/*change for proper model*/)
                .serveQuery("some.query.name", queries::handleQueryA, Object.class/*change for proper model*/);
        {{/eda}}
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy