
entry-point.async-event-handler.handler-registry-configuration.mustache Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of scaffold-clean-architecture Show documentation
Show all versions of scaffold-clean-architecture Show documentation
Gradle plugin to create a clean application in Java that already works, It follows our best practices!
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