RabbitProperties
spring RabbitMQ 配置类说明
RabbitProperties.java
/**
* RabbitMQ 配置属性
*/
@ConfigurationProperties(prefix = "spring.rabbitmq")
public class RabbitProperties {
// RabbitMQ 地址列表
private List<String> addresses = new ArrayList<>(Collections.singletonList("localhost"));
// 连接 RabbitMQ 的用户名
private String username;
// 连接 RabbitMQ 的密码
private String password;
// 连接 RabbitMQ 的虚拟主机
private String virtualHost = "/";
// 请求心跳检测间隔
private Integer requestedHeartbeat;
// 连接超时时间
private Integer connectionTimeout;
// SSL 相关配置
private Ssl ssl = new Ssl();
// 配置 AMQP 协议的参数
private final Amqp amqp = new Amqp();
// 配置 RabbitMQ 连接池相关参数
private final Pool pool = new Pool();
// 配置 RabbitMQ 消息的默认 Exchange
private String exchange;
// 配置 RabbitMQ 消息的默认 Routing Key
private String routingKey;
// 配置 RabbitMQ 消息的默认队列名称
private String defaultRequeueRejected;
// 配置 RabbitMQ 消息的默认处理方式
private Boolean publisherReturns;
// 配置 RabbitMQ 消息的默认处理方式
private Boolean publisherConfirmType;
// 配置 RabbitMQ 消息的默认处理方式
private Template template = new Template();
// 配置 RabbitMQ Channel 相关参数
private final Channel channel = new Channel();
// 获取地址列表
public List<String> getAddresses() {
return this.addresses;
}
// 设置地址列表
public void setAddresses(List<String> addresses) {
this.addresses = addresses;
}
// 获取用户名
public String getUsername() {
return this.username;
}
// 设置用户名
public void setUsername(String username) {
this.username = username;
}
// 获取密码
public String getPassword() {
return this.password;
}
// 设置密码
public void setPassword(String password) {
this.password = password;
}
// 获取虚拟主机名称
public String getVirtualHost() {
return this.virtualHost;
}
// 设置虚拟主机名称
public void setVirtualHost(String virtualHost) {
this.virtualHost = virtualHost;
}
// 获取请求心跳检测间隔
public Integer getRequestedHeartbeat() {
return this.requestedHeartbeat;
}
// 设置请求心跳检测间隔
public void setRequestedHeartbeat(Integer requestedHeartbeat) {
this.requestedHeartbeat = requestedHeartbeat;
}
// 获取连接超时时间
public Integer getConnectionTimeout() {
return this.connectionTimeout;
}
// 设置连接超时时间
public void setConnectionTimeout(Integer connectionTimeout) {
this.connectionTimeout = connectionTimeout;
}
// 获取 SSL 相关配置
public Ssl getSsl() {
return this.ssl;
}
// 设置 SSL 相关配置
public void setSsl(Ssl ssl) {
this.ssl = ssl;
}
// 获取 AMQP 相关配置
public Amqp getAmqp() {
配置文件
RabbitProperties 类是 Spring Boot 中用于配置 RabbitMQ 连接和消息传递的属性类。该类包含了 RabbitMQ 相关的所有属性,并提供了默认值和类型转换等功能。
下面是 RabbitProperties 类的主要属性及其中文解释:
addresses:RabbitMQ 服务器地址列表。host:RabbitMQ 服务器主机名,默认为localhost。port:RabbitMQ 服务器端口号,默认为5672。username:RabbitMQ 服务器用户名。password:RabbitMQ 服务器密码。virtual-host:RabbitMQ 虚拟主机名称,默认为/。ssl.enabled:是否启用 SSL 安全连接。ssl.key-store:SSL 密钥库文件路径。ssl.key-store-password:SSL 密钥库密码。ssl.key-store-type:SSL 密钥库类型,默认为PKCS12。ssl.trust-store:SSL 信任库文件路径。ssl.trust-store-password:SSL 信任库密码。ssl.trust-store-type:SSL 信任库类型,默认为PKCS12。ssl.algorithm:SSL 加密算法,默认为TLSv1.2。connection-timeout:连接 RabbitMQ 的超时时间(毫秒),默认为60000。requested-heartbeat:客户端希望 RabbitMQ 服务器发送心跳消息的时间间隔(秒),默认为60。cache.channel.size:缓存的 Channel 数量,默认为25。cache.channel.checkout-timeout:从缓存中检出 Channel 的超时时间(毫秒),默认为0。cache.connection.mode:缓存连接模式,支持CHANNEL和CONNECTION,默认为CHANNEL。cache.connection.size:缓存连接数量,默认为1。cache.connection.checkout-timeout:从缓存中检出 Connection 的超时时间(毫秒),默认为0。cache.channel.checkout-timeout:从缓存中检出 Channel 的超时时间(毫秒),默认为0。publisher-confirms:是否启用 Publisher Confirms 模式,默认为false。publisher-returns:是否启用 Publisher Returns 模式,默认为false。template.retry.enabled:是否启用 RabbitMQ 消息重试机制,默认为false。template.retry.max-attempts:最大重试次数,默认为3。template.retry.initial-interval:第一次重试的间隔时间(毫秒),默认为1000。template.retry.multiplier:重试间隔时间的倍增因子,默认为1.0。template.retry.max-interval:最大重试间隔时间(毫秒),默认为10000。listener.direct.acknowledge-mode:Direct Message Listener Container 的 Acknowledge Mode,支持AUTO、MANUAL和NONE,默认为AUTO。- `listener
listener.direct.prefetch:Direct Message Listener Container 的预取值,默认为250。listener.simple.acknowledge-mode:Simple Message Listener Container 的 Acknowledge Mode,支持AUTO、MANUAL和NONE,默认为AUTO。listener.simple.concurrency:Simple Message Listener Container 的并发消费者数量,默认为1。listener.simple.max-concurrency:Simple Message Listener Container 的最大并发消费者数量。listener.simple.prefetch:Simple Message Listener Container 的预取值,默认为250。listener.simple.default-requeue-rejected:Simple Message Listener Container 在消费者拒绝消息时是否重新加入队列,默认为true。listener.simple.retry.enabled:是否启用 Simple Message Listener Container 的消息重试机制,默认为false。listener.simple.retry.max-attempts:Simple Message Listener Container 最大重试次数,默认为3。listener.simple.retry.initial-interval:Simple Message Listener Container 第一次重试的间隔时间(毫秒),默认为1000。listener.simple.retry.multiplier:Simple Message Listener Container 重试间隔时间的倍增因子,默认为1.0。listener.simple.retry.max-interval:Simple Message Listener Container 最大重试间隔时间(毫秒),默认为10000。listener.simple.missing-queues-fatal:Simple Message Listener Container 在遇到不存在的队列时是否抛出异常,默认为true。listener.simple.default-requeue-rejected:Simple Message Listener Container 在消费者拒绝消息时是否重新加入队列,默认为true。
以上就是 RabbitProperties 类的主要属性及中文解释。这些属性可以在 Spring Boot 应用程序的配置文件中配置,或者在代码中使用 RabbitTemplate、RabbitListener 等类来动态设置。
