国内网站要备案个人做网站开发指标

当前位置: 首页 > news >正文

国内网站要备案,个人做网站开发指标,wordpress侧栏登陆,十大网络科技公司目录 ★ Spring Boot 为 RabbitMQ 提供的自动配置▲ 自动配置类#xff1a;RabbitAutoConfiguration▲ 属性处理类#xff1a;RabbitProperties相关配置 ★ AmqpAdmin的方法★ AmqpTemplate的方法代码演示创建一个springboot的项目。application.properties 配置属性 ★ Spri… 目录 ★ Spring Boot 为 RabbitMQ 提供的自动配置▲ 自动配置类RabbitAutoConfiguration▲ 属性处理类RabbitProperties相关配置 ★ AmqpAdmin的方法★ AmqpTemplate的方法代码演示创建一个springboot的项目。application.properties 配置属性 ★ Spring Boot 为 RabbitMQ 提供的自动配置 ▲ Spring Boot 提供了一个 spring-boot-starter-amqp 的Starter来支持RabbitMQ只要添加该Starter它就会添加 spring-rabbit 依赖库它有传递依赖了amqp-client.jar ▲ 只要类加载路径下包含了 spring-rabbit 依赖库 Spring Boot 会自动配置 CachingConnectionFactory CachingConnectionFactory带缓存的连接工厂由 RabbitConnectionFactoryCreator 负责、 还会自动配置 AmqpAdmin 和 AmqpTemplate 实际上就是RabbitTemplate由RabbitTemplateConfiguration负责。 AmqpAdmin 负责管理Exchange、队列和绑定。 AmqpTemplate 负责发送、接收消息。 ▲ 自动配置类RabbitAutoConfiguration 自动配置类RabbitAutoConfiguration ——只有当RabbitTemplate位于spring-rabbit.jar包中, Channel位于amqp-client.jar中两个类存在时该自动配置类才会生效。该自动配置类配置了 RabbitMessagingTemplate该Bean只是对RabbitTemplate的简单包装。上面RabbitAutoConfiguration自动配置类包含如下的两个静态内部类配置类 静态内部类RabbitConnectionFactoryCreator 它的作用就是在容器中配置一个 CachingConnectionFactory 而 CachingConnectionFactory 对 RabbitMQ 原生的 ConnectionFactory 进行包装增加了缓存功能。静态内部类RabbitTemplateConfiguration 它的作用是在容器中配置了3个BeanBean ARabbitTemplateConfigurer它负责对容器中RabbitTemplate进行定制。 该Bean可以被取代开发者一旦在容器中配置了自己的RabbitTemplateConfigurer它就会取代该Bean。Bean B RabbitTemplate它就是一个AmqpTemplate。如果开发者配置了自己的 RabbitTemplate自动配置的RabbitTemplate就失效。AmqpTemplate↑RabbitOperations↑RabbitTemplateBean C AmqpAdmin如果开发者配置了自己的AmqpAdmin自动配置的AmqpAdmin就失效。但如果你将spring.rabbitmq.dynamic属性指定为false那么该AmqpAdmin就不会自动配置了。▲ 属性处理类RabbitProperties 属性处理类RabbitProperties该属性处理类除了可配置host、port、password、username等基本属性之外还可以配置spring.rabbitmq.ssl.*开头的属性用于配置SSL连接相关keyStore、trustStore等相关信息。还可以配置spring.rabbitmq.cache.*开头的属性用于配置缓存相关信息。还可以配置spring.rabbitmq.listener.*开头的属性用于配置和消息监听器的容器工厂相关的属性还可以配置spring.rabbitmq.template.*开头的属性用于配置和RabbitTemplate相关的属性相关配置 ★ AmqpAdmin的方法 它主要就是提供了一些管理Exchange、Queue、绑定相关的方法。 - void declareExchange(Exchange exchange)声明Exchange。- String declareQueue(Queue queue)声明队列。- Queue declareQueue()声明由服务器命名、独占的、自动删除的、非持久化的队列。- declareBinding(Binding binding)声明队列或Exchange与Exchange的绑定。- boolean deleteExchange(String exchangeName)删除Exchange。- boolean deleteQueue(String queueName)无条件地删除队列- void deleteQueue(String queueName, boolean unused, boolean empty)删除队列只有当该队列不再使用、且没有消息时才删除。- void removeBinding(Binding binding)解除绑定。★ AmqpTemplate的方法 它主要就是提供了一些发送消息的方法。

  • convertAndSend(String exchange, String routingKey, Object message, MessagePostProcessor messagePostProcessor)自动将messag参数转换成消息、发送给exchange。在发送之前还可通过messagePostProcessor参数对消息进行修改。- convertSendAndReceive(String exchange, String routingKey, Object message, MessagePostProcessor messagePostProcessor)该方法发送消息之后会等待返回的消息。- send(String exchange, String routingKey, Message message)发送消息。- sendAndReceive(String exchange, String routingKey, Message message)该方法发送消息之后会等待返回的消息- receive(String queueName, long timeoutMillis)指定从queueName队列接收消息。 备注一般不会通过该方法来接收消息而是推荐使用消息监听器、以异步的方式来接收消息。剩下的事情就是将AmqpAdmin、AmqpTemplate注入程序组件Service 然后程序组件即可通过它们来操作RabbitMQ消息队列。代码演示 创建一个springboot的项目。 application.properties 配置属性 # 配置连接 RabbitMQ 的基本信息—————————————————— spring.rabbitmq.hostlocalhost spring.rabbitmq.port5672

    下面属性可配置多个以逗号隔开的连接地址一旦配置了该属性host 和 port 属性就会被忽略

    spring.rabbitmq.addresses

    spring.rabbitmq.usernameljh spring.rabbitmq.password123456

    连接虚拟主机

    spring.rabbitmq.virtual-hostmy-vhost01# 配置RabbitMQ的缓存相关信息——————————————————–

    指定缓存 connection 还是缓存 channel

    spring.rabbitmq.cache.connection.modechannel

    指定可以缓存多少个 Channel

    spring.rabbitmq.cache.channel.size50

    如果选择的缓存模式是 connection 那么就可以配置如下属性

    spring.rabbitmq.cache.connection.size15# 配置 和 RabbitTemplate 相关的属性————————————————–

    指定 RabbitTemplate 发送消息失败时会重新尝试

    spring.rabbitmq.template.retry.enabledtrue

    RabbitTemplate 发送消息失败后每隔1秒重新尝试发送消息

    spring.rabbitmq.template.retry.initial-interval1s

    RabbitTemplate 发送消息失败时最多尝试重新发送消息的次数

    spring.rabbitmq.template.retry.max-attempts5

    设置每次尝试重新发送消息的时间间隔是一个等比数列1s, 2s, 4s, 8s, 16s

    第一次等1s后尝试第二次等2s后尝试第三次等4s后尝试重新发送消息……

    spring.rabbitmq.template.retry.multiplier2

    指定发送消息时默认的Exchange名

    spring.rabbitmq.template.exchange

    指定发送消息时默认的路由key

    spring.rabbitmq.template.routing-keytest# 配置和消息监听器的容器工厂相关的属性————————————————–

    指定监听器容器工厂的类型

    spring.rabbitmq.listener.typesimple

    指定消息的确认模式

    spring.rabbitmq.listener.simple.acknowledge-modeauto