SpringBoot配置属性之MQ

activemq

  • spring.activemq.broker-url
    指定ActiveMQ broker的URL,默认自动生成.

  • spring.activemq.in-memory
    是否是内存模式,默认为true.

  • spring.activemq.password
    指定broker的密码.

  • spring.activemq.pooled
    是否创建PooledConnectionFactory,而非ConnectionFactory,默认false

  • spring.activemq.user
    指定broker的用户.

artemis(HornetQ捐献给apache后的版本)

  • spring.artemis.embedded.cluster-password
    指定集群的密码,默认是启动时随机生成.

  • spring.artemis.embedded.data-directory
    指定Journal文件的目录.如果不开始持久化则不必要指定.

  • spring.artemis.embedded.enabled
    是否开启内嵌模式,默认true

  • spring.artemis.embedded.persistent
    是否开启persistent store,默认false.

  • spring.artemis.embedded.queues
    指定启动时创建的队列,多个用逗号分隔,默认: []

  • spring.artemis.embedded.server-id
    指定Server ID. 默认是一个自增的数字,从0开始.

  • spring.artemis.embedded.topics
    指定启动时创建的topic,多个的话逗号分隔,默认: []

  • spring.artemis.host
    指定Artemis broker 的host. 默认: localhost

  • spring.artemis.mode
    指定Artemis 的部署模式, 默认为auto-detected(也可以为native or embedded).

  • spring.artemis.port
    指定Artemis broker 的端口,默认为: 61616

rabbitmq

  • spring.rabbitmq.addresses
    指定client连接到的server的地址,多个以逗号分隔.

  • spring.rabbitmq.dynamic
    是否创建AmqpAdmin bean. 默认为: true)

  • spring.rabbitmq.host
    指定RabbitMQ host.默认为: localhost)

  • spring.rabbitmq.listener.acknowledge-mode
    指定Acknowledge的模式.

  • spring.rabbitmq.listener.auto-startup
    是否在启动时就启动mq,默认: true)

  • spring.rabbitmq.listener.concurrency
    指定最小的消费者数量.

  • spring.rabbitmq.listener.max-concurrency
    指定最大的消费者数量.

  • spring.rabbitmq.listener.prefetch
    指定一个请求能处理多少个消息,如果有事务的话,必须大于等于transaction数量.

  • spring.rabbitmq.listener.transaction-size
    指定一个事务处理的消息数量,最好是小于等于prefetch的数量.

  • spring.rabbitmq.password
    指定broker的密码.

  • spring.rabbitmq.port
    指定RabbitMQ 的端口,默认: 5672)

  • spring.rabbitmq.requested-heartbeat
    指定心跳超时,0为不指定.

  • spring.rabbitmq.ssl.enabled
    是否开始SSL,默认: false)

  • spring.rabbitmq.ssl.key-store
    指定持有SSL certificate的key store的路径

  • spring.rabbitmq.ssl.key-store-password
    指定访问key store的密码.

  • spring.rabbitmq.ssl.trust-store
    指定持有SSL certificates的Trust store.

  • spring.rabbitmq.ssl.trust-store-password
    指定访问trust store的密码.

  • spring.rabbitmq.username
    指定登陆broker的用户名.

  • spring.rabbitmq.virtual-host
    指定连接到broker的Virtual host.

hornetq

  • spring.hornetq.embedded.cluster-password
    指定集群的密码,默认启动时随机生成.

  • spring.hornetq.embedded.data-directory
    指定Journal file 的目录. 如果不开启持久化则不必指定.

  • spring.hornetq.embedded.enabled
    是否开启内嵌模式,默认:true

  • spring.hornetq.embedded.persistent
    是否开启persistent store,默认: false

  • spring.hornetq.embedded.queues
    指定启动是创建的queue,多个以逗号分隔,默认: []

  • spring.hornetq.embedded.server-id
    指定Server ID. 默认使用自增数字,从0开始.

  • spring.hornetq.embedded.topics
    指定启动时创建的topic,多个以逗号分隔,默认: []

  • spring.hornetq.host
    指定HornetQ broker 的host,默认: localhost

  • spring.hornetq.mode
    指定HornetQ 的部署模式,默认是auto-detected,也可以指定native 或者 embedded.

  • spring.hornetq.port
    指定HornetQ broker 端口,默认: 5445

jms

    • spring.jms.jndi-name
      指定Connection factory JNDI 名称.

    • spring.jms.listener.acknowledge-mode
      指定ack模式,默认自动ack.

    • spring.jms.listener.auto-startup
      是否启动时自动启动jms,默认为: true

    • spring.jms.listener.concurrency
      指定最小的并发消费者数量.

    • spring.jms.listener.max-concurrency
      指定最大的并发消费者数量.

    • spring.jms.pub-sub-domain
      是否使用默认的destination type来支持 publish/subscribe,默认: false

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Spring Boot自定义MQ配置有多种方式,以下是其的一种: 1. 配置MQ连接信息 在application.properties或application.yml添加如下配置: ```yaml spring: rabbitmq: host: localhost port: 5672 username: guest password: guest ``` 2. 创建MQ连接工厂 创建一个名为RabbitMQConfig的类,用于创建MQ连接工厂并配置MQ连接信息: ```java @Configuration public class RabbitMQConfig { @Value("${spring.rabbitmq.host}") private String host; @Value("${spring.rabbitmq.port}") private Integer port; @Value("${spring.rabbitmq.username}") private String username; @Value("${spring.rabbitmq.password}") private String password; @Bean public ConnectionFactory connectionFactory() { CachingConnectionFactory connectionFactory = new CachingConnectionFactory(); connectionFactory.setHost(host); connectionFactory.setPort(port); connectionFactory.setUsername(username); connectionFactory.setPassword(password); return connectionFactory; } } ``` 3. 创建MQ模板 创建一个名为RabbitMQTemplate的类,用于创建MQ模板: ```java @Configuration public class RabbitMQTemplate { @Autowired private ConnectionFactory connectionFactory; @Bean public RabbitTemplate rabbitTemplate() { RabbitTemplate rabbitTemplate = new RabbitTemplate(connectionFactory); return rabbitTemplate; } } ``` 4. 发送消息 在需要发送消息的地方注入RabbitTemplate,并调用send方法发送消息: ```java @RestController public class MessageController { @Autowired private RabbitTemplate rabbitTemplate; @PostMapping("/send") public String sendMessage(@RequestBody String message) { rabbitTemplate.convertAndSend("exchangeName", "routingKey", message); return "Message sent successfully"; } } ``` 以上是一个简单的例子,可以根据实际需要进行修改。 ### 回答2: 在Spring Boot自定义MQ(消息队列)配置需要以下几个步骤: 1. 引入相关的依赖:在项目的pom.xml文件添加MQ的依赖,例如使用RabbitMQ可以添加以下依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> ``` 2. 创建MQ的连接配置类:可以创建一个Spring配置类,使用@Configuration注解,并使用@Bean注解创建一个连接工厂。这个连接工厂可以根据具体的MQ的类型来创建,比如对于RabbitMQ可以使用RabbitConnectionFactory。 3. 创建MQ的消息发送者:可以创建一个Spring的Component类,并使用@Autowired注解注入上一步创建的连接工厂。在这个类可以定义一个发送消息的方法,可以使用RabbitTemplate来发送消息。 4. 配置MQ的相关属性:在项目的application.properties或application.yml文件可以配置MQ的相关属性,例如RabbitMQ的连接URL、用户名、密码等。 5. 使用自定义的MQ配置:在其他需要使用MQ的地方,可以通过@Autowired注解注入第3步创建的消息发送者,然后就可以调用发送消息的方法了。 通过以上步骤,就可以在Spring Boot自定义MQ配置了。可以根据具体的业务需求选择不同的MQ类型,并配置相关的属性和方法来实现消息的发送和接收。 ### 回答3: Spring Boot提供了一种简单和方便的方式来自定义MQ(消息队列)的配置。下面是一个使用Spring Boot自定义MQ配置的示例: 首先,我们需要在项目的依赖添加相应的MQ库,例如使用Apache Kafka,可以添加以下依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-kafka</artifactId> </dependency> ``` 接下来,在`application.properties`或`application.yml`文件配置MQ的相关属性,例如: ```properties spring.kafka.bootstrap-servers=localhost:9092 spring.kafka.consumer.group-id=my-group-1 spring.kafka.consumer.auto-offset-reset=earliest spring.kafka.consumer.key-deserializer=org.apache.kafka.common.serialization.StringDeserializer spring.kafka.consumer.value-deserializer=org.apache.kafka.common.serialization.StringDeserializer ``` 然后,在Java代码创建一个`KafkaTemplate`对象,用于发送和接收消息。可以通过在类上添加`@Autowired`注解或使用`new`关键字来创建`KafkaTemplate`对象。例如: ```java @Autowired private KafkaTemplate<String, String> kafkaTemplate; ``` 接下来,可以使用`kafkaTemplate`对象来发送消息到MQ,例如: ```java kafkaTemplate.send("my-topic", "my-message"); ``` 同时,我们还可以创建一个消费者来监听MQ的消息。可以使用`@KafkaListener`注解来创建消费者,并指定监听的Topic和Group。例如: ```java @KafkaListener(topics = "my-topic", groupId = "my-group-1") public void consume(String message) { System.out.println("Received message: " + message); } ``` 通过以上步骤,我们就可以在Spring Boot自定义MQ配置。当然,具体的配置方式会根据所使用的MQ库而有所不同。需要根据实际情况进行相关配置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值