@Bean @Primary @ConditionalOnBean(CommandBusConnector.class) @ConditionalOnMissingBean public DistributedCommandBus distributedCommandBus(CommandRouter commandRouter, CommandBusConnector commandBusConnector, DistributedCommandBusProperties distributedCommandBusProperties) { DistributedCommandBus commandBus = DistributedCommandBus.builder() .commandRouter(commandRouter) .connector(commandBusConnector) .build(); commandBus.updateLoadFactor(distributedCommandBusProperties.getLoadFactor()); return commandBus; } }
/** * Instantiate a {@link DistributedCommandBus} based on the fields contained in the {@link Builder}. * <p> * Will assert that the {@link CommandRouter}, {@link CommandBusConnector} and {@link MessageMonitor} are not * {@code null}, and will throw an {@link AxonConfigurationException} if any of them is {@code null}. * * @param builder the {@link Builder} used to instantiate a {@link DistributedCommandBus} instance */ protected DistributedCommandBus(Builder builder) { builder.validate(); this.commandRouter = builder.commandRouter; this.connector = builder.connector; this.messageMonitor = builder.messageMonitor; }
/** * Instantiate a Builder to be able to create a {@link DistributedCommandBus}. * <p> * The {@link MessageMonitor} is defaulted to a {@link NoOpMessageMonitor}. * The {@link CommandRouter} and {@link CommandBusConnector} are <b>hard requirements</b> and as such should be * provided. * * @return a Builder to be able to create a {@link DistributedCommandBus} */ public static Builder builder() { return new Builder(); }
/** * Instantiate a {@link DistributedCommandBus} based on the fields contained in the {@link Builder}. * <p> * Will assert that the {@link CommandRouter}, {@link CommandBusConnector} and {@link MessageMonitor} are not * {@code null}, and will throw an {@link AxonConfigurationException} if any of them is {@code null}. * * @param builder the {@link Builder} used to instantiate a {@link DistributedCommandBus} instance */ protected DistributedCommandBus(Builder builder) { builder.validate(); this.commandRouter = builder.commandRouter; this.connector = builder.connector; this.messageMonitor = builder.messageMonitor; }
/** * Instantiate a Builder to be able to create a {@link DistributedCommandBus}. * <p> * The {@link MessageMonitor} is defaulted to a {@link NoOpMessageMonitor}. * The {@link CommandRouter} and {@link CommandBusConnector} are <b>hard requirements</b> and as such should be * provided. * * @return a Builder to be able to create a {@link DistributedCommandBus} */ public static Builder builder() { return new Builder(); }