当前位置: 首页 > 知识库问答 >
问题:

Spring云流artemis绑定并发不工作

缪风史
2023-03-14

我用Artemis绑定器设置了一个Spring云流https://github.com/snowdrop/spring-cloud-stream-binder-artemis.我有两个应用程序,即生产者和消费者。下面是我的application.yml配置

制作人配置

spring:
  main:
    allow-bean-definition-overriding: true
  cloud:
    stream:
      poller:
        fixed-delay: 5000
      bindings:
        sourceForBroker-out-0:
          destination: exchange
      function:
        definition: sourceForBroker

消费者配置

spring:
  main:
    allow-bean-definition-overriding: true
  cloud:
    stream:
      bindings:
        r1:
          destination: exchange
          group: group1
          consumer:
            max-attempts: 1
            concurrency: 10
      function:
        bindings:
          r1Consumer-in-0: r1
        definition: r1Consumer

一切正常,即生产者向队列发送数据,消费者能够处理数据,但不反映并发性。当我检查Artemis控制台时,我看到只有一个消费者。附加控制台截图

共有1个答案

商茂勋
2023-03-14

一个生产者可以有多个消费者。你的消费者是唯一的,这就是为什么它只显示一个线程。

 类似资料:
  • 使用Spring Cloud Stream版本Chelsea. SR2,RabbitMQ作为消息代理。要拥有多个消费者,我们使用属性并发(入站消费者的并发)。 如果我们将并发设置为50。它从1开始,慢慢地增加消费者计数。有没有任何可能的解决方案可以使用更高的数字而不是一个来启动初始消费者计数,以提高消费者性能。

  • 根据本文档,应该可以订阅Spring Integration提供的全局错误通道--“ErrorChannel”。 在我这个非常简单的例子中,它不起作用: 应用:

  • 我用以下组件构建了一个spring boot kinesis消费者: Spring boot(版本-2.1.2.Release) Spring cloud(version-greenwich.release) Spring cloud stream kinesis绑定器(版本-1.1.0.发行版) 假设我有3个消费者实例部署到PCF(通过在MANIFEST.YML文件中将instances属性设置

  • 我正在尝试通过SCSt频道构建并获取KTable。但这并不奏效。输入KTable没有数据,但如果我尝试查看KSTream聚合(toStream()),我可以看到一些数据。我明白了,KTable是不可查询的,它没有可查询的名称。 类别: 绑定: application.yml:

  • 我正在尝试在Spring云数据流中配置DLQ。下面是流定义以及我如何部署它 在自定义转换处理器代码中,我已经提到过 这意味着若消息包含错误,那个么RunTimeException和我想在DLQ中捕获这些消息。但当我运行代码时,似乎没有得到任何名为test tran的Kafka DL队列。 我是否需要设置更多属性来启用DLQ,还是需要更改代码中的某些内容以正确使用DLQ。 自定义转换代码 Trans

  • 我的使用者绑定到匿名使用者组,而不是我指定的使用者组。 我的春靴应用 我的输入输出通道接口 我的控制台日志-- :在3.233秒内启动ConsumerApplication(JVM运行于4.004):[使用者Clientid=Consumer-3,Groupid=Anonymous.0D0C87D6-EF39-4BFE-B475-4491C40CAF6D]发现组协调器Singh:9092(ID:2