Spring 云流 RabbitMq - 从源代码设置属性
Spring cloud stream RabbitMq - Set properties from source code
我正在使用 Spring 云流和 RabbitMQ。
我希望能够从源代码而不是 属性 文件(正如他们在文档中提到的那样)配置消息和查询属性。
例如,对于 RabbitMq 的经典 Java 客户端,我可以做类似的事情来创建一个具有我想要的属性的队列:
//qName, passive, durable, exclusive auto-delete
channel.queueDeclare("myQueue", true, false, false, , false , null);
关于如何使用 Spring 云流实现同样的事情有什么想法吗?
在 "application.yml" 中您可以添加所有这些值,以下是示例
spring:
cloud:
stream:
instance-count: 1
bindings:
input:
consumer:
concurrency: 2
maxAttempts: 1
group: geode-sink
destination: jdbc-event-result
binder: rabbit
rabbit:
bindings:
input:
consumer:
autoBindDlq: true
republishToDlq: true
requeueRejected: false
rabbitmq:
username: ur-user-name
password: ur-password
host: rabbitmq-url-replace-here
port: 5672
datasource:
platform: mysql
url: jdbc:mysql-url-replace-here
username: ur-user-name
password: ur-password
driverClassName: com.mysql.jdbc.Driver
datasource:
tomcat:
max-wait: 300
min-idle: 10
max-idle: 100
aggregator:
groupCount: 2
batchSize: 1000
batchTimeout: 1000
已更新:
在查阅他们的文档并在@vaquar khan 的帮助下,我发现唯一的方法是从您的 属性 文件中获取。
application.yml
spring:
cloud:
stream:
bindings:
queue_name :
destination: queue_name
group: your_group_name
durable-subscription : true
这将声明一个持久的、非删除的和非独占的队列。
我正在使用 Spring 云流和 RabbitMQ。
我希望能够从源代码而不是 属性 文件(正如他们在文档中提到的那样)配置消息和查询属性。
例如,对于 RabbitMq 的经典 Java 客户端,我可以做类似的事情来创建一个具有我想要的属性的队列:
//qName, passive, durable, exclusive auto-delete
channel.queueDeclare("myQueue", true, false, false, , false , null);
关于如何使用 Spring 云流实现同样的事情有什么想法吗?
在 "application.yml" 中您可以添加所有这些值,以下是示例
spring:
cloud:
stream:
instance-count: 1
bindings:
input:
consumer:
concurrency: 2
maxAttempts: 1
group: geode-sink
destination: jdbc-event-result
binder: rabbit
rabbit:
bindings:
input:
consumer:
autoBindDlq: true
republishToDlq: true
requeueRejected: false
rabbitmq:
username: ur-user-name
password: ur-password
host: rabbitmq-url-replace-here
port: 5672
datasource:
platform: mysql
url: jdbc:mysql-url-replace-here
username: ur-user-name
password: ur-password
driverClassName: com.mysql.jdbc.Driver
datasource:
tomcat:
max-wait: 300
min-idle: 10
max-idle: 100
aggregator:
groupCount: 2
batchSize: 1000
batchTimeout: 1000
已更新:
在查阅他们的文档并在@vaquar khan 的帮助下,我发现唯一的方法是从您的 属性 文件中获取。
application.yml
spring:
cloud:
stream:
bindings:
queue_name :
destination: queue_name
group: your_group_name
durable-subscription : true
这将声明一个持久的、非删除的和非独占的队列。