blob: f915df26c891cfb4f2a10fd2ecf9f031a5b56ce4 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.camel.component.springrabbit.springboot;
import javax.annotation.Generated;
import org.apache.camel.component.springrabbit.ListenerContainerFactory;
import org.apache.camel.component.springrabbit.MessagePropertiesConverter;
import org.apache.camel.spi.HeaderFilterStrategy;
import org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon;
import org.springframework.amqp.core.AmqpAdmin;
import org.springframework.amqp.rabbit.connection.ConnectionFactory;
import org.springframework.amqp.support.converter.MessageConverter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.retry.interceptor.RetryOperationsInterceptor;
import org.springframework.util.ErrorHandler;
/**
* Send and receive messages from RabbitMQ using Spring RabbitMQ client.
*
* Generated by camel-package-maven-plugin - do not edit this file!
*/
@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
@ConfigurationProperties(prefix = "camel.component.spring-rabbitmq")
public class SpringRabbitMQComponentConfiguration
extends
ComponentConfigurationPropertiesCommon {
/**
* Whether to enable auto configuration of the spring-rabbitmq component.
* This is enabled by default.
*/
private Boolean enabled;
/**
* Optional AMQP Admin service to use for auto declaring elements (queues,
* exchanges, bindings). The option is a
* org.springframework.amqp.core.AmqpAdmin type.
*/
private AmqpAdmin amqpAdmin;
/**
* The connection factory to be use. A connection factory must be configured
* either on the component or endpoint. The option is a
* org.springframework.amqp.rabbit.connection.ConnectionFactory type.
*/
private ConnectionFactory connectionFactory;
/**
* Specifies whether to test the connection on startup. This ensures that
* when Camel starts that all the JMS consumers have a valid connection to
* the JMS broker. If a connection cannot be granted then Camel throws an
* exception on startup. This ensures that Camel is not started with failed
* connections. The JMS producers is tested as well.
*/
private Boolean testConnectionOnStartup = false;
/**
* Specifies whether the consumer should auto declare binding between
* exchange, queue and routing key when starting. Enabling this can be good
* for development to make it easy to standup exchanges, queues and bindings
* on the broker.
*/
private Boolean autoDeclare = false;
/**
* Specifies whether the consumer container should auto-startup.
*/
private Boolean autoStartup = true;
/**
* Allows for bridging the consumer to the Camel routing Error Handler,
* which mean any exceptions occurred while the consumer is trying to pickup
* incoming messages, or the likes, will now be processed as a message and
* handled by the routing Error Handler. By default the consumer will use
* the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that
* will be logged at WARN or ERROR level and ignored.
*/
private Boolean bridgeErrorHandler = false;
/**
* The name of the dead letter exchange
*/
private String deadLetterExchange;
/**
* The type of the dead letter exchange
*/
private String deadLetterExchangeType = "direct";
/**
* The name of the dead letter queue
*/
private String deadLetterQueue;
/**
* The routing key for the dead letter exchange
*/
private String deadLetterRoutingKey;
/**
* How many times a Rabbitmq consumer will retry the same message if Camel
* failed to process the message
*/
private Integer maximumRetryAttempts = 5;
/**
* Whether a Rabbitmq consumer should reject the message without requeuing.
* This enables failed messages to be sent to a Dead Letter Exchange/Queue,
* if the broker is so configured.
*/
private Boolean rejectAndDontRequeue = true;
/**
* Delay in msec a Rabbitmq consumer will wait before redelivering a message
* that Camel failed to process
*/
private Integer retryDelay = 1000;
/**
* The number of consumers
*/
private Integer concurrentConsumers = 1;
/**
* To use a custom ErrorHandler for handling exceptions from the message
* listener (consumer). The option is a
* org.springframework.util.ErrorHandler type.
*/
private ErrorHandler errorHandler;
/**
* To use a custom factory for creating and configuring ListenerContainer to
* be used by the consumer for receiving messages. The option is a
* org.apache.camel.component.springrabbit.ListenerContainerFactory type.
*/
private ListenerContainerFactory listenerContainerFactory;
/**
* The maximum number of consumers (available only with SMLC)
*/
private Integer maxConcurrentConsumers;
/**
* The type of the MessageListenerContainer
*/
private String messageListenerContainerType = "DMLC";
/**
* Tell the broker how many messages to send to each consumer in a single
* request. Often this can be set quite high to improve throughput.
*/
private Integer prefetchCount = 250;
/**
* Custom retry configuration to use. If this is configured then the other
* settings such as maximumRetryAttempts for retry are not in use. The
* option is a
* org.springframework.retry.interceptor.RetryOperationsInterceptor type.
*/
private RetryOperationsInterceptor retry;
/**
* The time to wait for workers in milliseconds after the container is
* stopped. If any workers are active when the shutdown signal comes they
* will be allowed to finish processing as long as they can finish within
* this timeout. The option is a long type.
*/
private Long shutdownTimeout = 5000L;
/**
* Whether to allow sending messages with no body. If this option is false
* and the message body is null, then an MessageConversionException is
* thrown.
*/
private Boolean allowNullBody = false;
/**
* Whether the producer should be started lazy (on the first message). By
* starting lazy you can use this to allow CamelContext and routes to
* startup in situations where a producer may otherwise fail during starting
* and cause the route to fail being started. By deferring this startup to
* be lazy then the startup failure can be handled during routing messages
* via Camel's routing error handlers. Beware that when the first message is
* processed then creating and starting the producer may take a little time
* and prolong the total processing time of the processing.
*/
private Boolean lazyStartProducer = false;
/**
* Specify the timeout in milliseconds to be used when waiting for a reply
* message when doing request/reply messaging. The default value is 5
* seconds. A negative value indicates an indefinite timeout. The option is
* a long type.
*/
private Long replyTimeout = 5000L;
/**
* Whether autowiring is enabled. This is used for automatic autowiring
* options (the option must be marked as autowired) by looking up in the
* registry to find if there is a single instance of matching type, which
* then gets configured on the component. This can be used for automatic
* configuring JDBC data sources, JMS connection factories, AWS Clients,
* etc.
*/
private Boolean autowiredEnabled = true;
/**
* Switch on ignore exceptions such as mismatched properties when declaring
*/
private Boolean ignoreDeclarationExceptions = false;
/**
* To use a custom MessageConverter so you can be in control how to map
* to/from a org.springframework.amqp.core.Message. The option is a
* org.springframework.amqp.support.converter.MessageConverter type.
*/
private MessageConverter messageConverter;
/**
* To use a custom MessagePropertiesConverter so you can be in control how
* to map to/from a org.springframework.amqp.core.MessageProperties. The
* option is a
* org.apache.camel.component.springrabbit.MessagePropertiesConverter type.
*/
private MessagePropertiesConverter messagePropertiesConverter;
/**
* To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter
* header to and from Camel message. The option is a
* org.apache.camel.spi.HeaderFilterStrategy type.
*/
private HeaderFilterStrategy headerFilterStrategy;
public AmqpAdmin getAmqpAdmin() {
return amqpAdmin;
}
public void setAmqpAdmin(AmqpAdmin amqpAdmin) {
this.amqpAdmin = amqpAdmin;
}
public ConnectionFactory getConnectionFactory() {
return connectionFactory;
}
public void setConnectionFactory(ConnectionFactory connectionFactory) {
this.connectionFactory = connectionFactory;
}
public Boolean getTestConnectionOnStartup() {
return testConnectionOnStartup;
}
public void setTestConnectionOnStartup(Boolean testConnectionOnStartup) {
this.testConnectionOnStartup = testConnectionOnStartup;
}
public Boolean getAutoDeclare() {
return autoDeclare;
}
public void setAutoDeclare(Boolean autoDeclare) {
this.autoDeclare = autoDeclare;
}
public Boolean getAutoStartup() {
return autoStartup;
}
public void setAutoStartup(Boolean autoStartup) {
this.autoStartup = autoStartup;
}
public Boolean getBridgeErrorHandler() {
return bridgeErrorHandler;
}
public void setBridgeErrorHandler(Boolean bridgeErrorHandler) {
this.bridgeErrorHandler = bridgeErrorHandler;
}
public String getDeadLetterExchange() {
return deadLetterExchange;
}
public void setDeadLetterExchange(String deadLetterExchange) {
this.deadLetterExchange = deadLetterExchange;
}
public String getDeadLetterExchangeType() {
return deadLetterExchangeType;
}
public void setDeadLetterExchangeType(String deadLetterExchangeType) {
this.deadLetterExchangeType = deadLetterExchangeType;
}
public String getDeadLetterQueue() {
return deadLetterQueue;
}
public void setDeadLetterQueue(String deadLetterQueue) {
this.deadLetterQueue = deadLetterQueue;
}
public String getDeadLetterRoutingKey() {
return deadLetterRoutingKey;
}
public void setDeadLetterRoutingKey(String deadLetterRoutingKey) {
this.deadLetterRoutingKey = deadLetterRoutingKey;
}
public Integer getMaximumRetryAttempts() {
return maximumRetryAttempts;
}
public void setMaximumRetryAttempts(Integer maximumRetryAttempts) {
this.maximumRetryAttempts = maximumRetryAttempts;
}
public Boolean getRejectAndDontRequeue() {
return rejectAndDontRequeue;
}
public void setRejectAndDontRequeue(Boolean rejectAndDontRequeue) {
this.rejectAndDontRequeue = rejectAndDontRequeue;
}
public Integer getRetryDelay() {
return retryDelay;
}
public void setRetryDelay(Integer retryDelay) {
this.retryDelay = retryDelay;
}
public Integer getConcurrentConsumers() {
return concurrentConsumers;
}
public void setConcurrentConsumers(Integer concurrentConsumers) {
this.concurrentConsumers = concurrentConsumers;
}
public ErrorHandler getErrorHandler() {
return errorHandler;
}
public void setErrorHandler(ErrorHandler errorHandler) {
this.errorHandler = errorHandler;
}
public ListenerContainerFactory getListenerContainerFactory() {
return listenerContainerFactory;
}
public void setListenerContainerFactory(
ListenerContainerFactory listenerContainerFactory) {
this.listenerContainerFactory = listenerContainerFactory;
}
public Integer getMaxConcurrentConsumers() {
return maxConcurrentConsumers;
}
public void setMaxConcurrentConsumers(Integer maxConcurrentConsumers) {
this.maxConcurrentConsumers = maxConcurrentConsumers;
}
public String getMessageListenerContainerType() {
return messageListenerContainerType;
}
public void setMessageListenerContainerType(
String messageListenerContainerType) {
this.messageListenerContainerType = messageListenerContainerType;
}
public Integer getPrefetchCount() {
return prefetchCount;
}
public void setPrefetchCount(Integer prefetchCount) {
this.prefetchCount = prefetchCount;
}
public RetryOperationsInterceptor getRetry() {
return retry;
}
public void setRetry(RetryOperationsInterceptor retry) {
this.retry = retry;
}
public Long getShutdownTimeout() {
return shutdownTimeout;
}
public void setShutdownTimeout(Long shutdownTimeout) {
this.shutdownTimeout = shutdownTimeout;
}
public Boolean getAllowNullBody() {
return allowNullBody;
}
public void setAllowNullBody(Boolean allowNullBody) {
this.allowNullBody = allowNullBody;
}
public Boolean getLazyStartProducer() {
return lazyStartProducer;
}
public void setLazyStartProducer(Boolean lazyStartProducer) {
this.lazyStartProducer = lazyStartProducer;
}
public Long getReplyTimeout() {
return replyTimeout;
}
public void setReplyTimeout(Long replyTimeout) {
this.replyTimeout = replyTimeout;
}
public Boolean getAutowiredEnabled() {
return autowiredEnabled;
}
public void setAutowiredEnabled(Boolean autowiredEnabled) {
this.autowiredEnabled = autowiredEnabled;
}
public Boolean getIgnoreDeclarationExceptions() {
return ignoreDeclarationExceptions;
}
public void setIgnoreDeclarationExceptions(
Boolean ignoreDeclarationExceptions) {
this.ignoreDeclarationExceptions = ignoreDeclarationExceptions;
}
public MessageConverter getMessageConverter() {
return messageConverter;
}
public void setMessageConverter(MessageConverter messageConverter) {
this.messageConverter = messageConverter;
}
public MessagePropertiesConverter getMessagePropertiesConverter() {
return messagePropertiesConverter;
}
public void setMessagePropertiesConverter(
MessagePropertiesConverter messagePropertiesConverter) {
this.messagePropertiesConverter = messagePropertiesConverter;
}
public HeaderFilterStrategy getHeaderFilterStrategy() {
return headerFilterStrategy;
}
public void setHeaderFilterStrategy(
HeaderFilterStrategy headerFilterStrategy) {
this.headerFilterStrategy = headerFilterStrategy;
}
}