当前位置: 首页 > 面试题库 >

Apache Camel:收到有关不相关的ID的回复

武骁
2023-03-14
问题内容

有一middleware两个其他软件组件之间英寸 在middlewareApache ActiveMQ通过路由消息Apache Camel

这是这样的:

  1. 1stComponent用于middleware将消息发送到3rdComponent
  2. 3rdComponent回复邮件并将其发送回1st(使用middleware)。
               1stComponent <<=>> Middleware <<=>> 3rdComponent
    

问题:

ConcurrentConsumers在中间件中使用。

在顺序发送大量消息middleware的过程中,突然停止了所有过程!没有例外或消息!例如,处理了500条消息中的前100条,其余的作为待处理消息保留在队列中。

在过程的中间有时会记录此警告:

[WARN ] TemporaryQueueReplyManager(Camel (camel-1) thread #11 - TemporaryQueueReplyManager[Q.MyQ]):91 - Reply received for unknown correlationID [c551c7aa061f501c]. The message will be ignored: ActiveMQMapMessage {commandId = 2161, responseRequired = true, messageId = ID:xxxxxxx, originalDestination = null, originalTransactionId = null, producerId = ID:xxxxxxx, destination = temp-queue://ID:localhost.localdomain-40961-1389890357282-3:1:1, transactionId = null, expiration = 0, timestamp = 1389890272360, arrival = 0, brokerInTime = 1389890272360, brokerOutTime = 1389890272360, correlationId = c551c7aa061f501c, replyTo = temp-queue://ID:localhost.localdomain-40961-1389890357282-3:1:1, persistent = true, type = null, priority = 4, groupID = null, groupSequence = 0, targetConsumerId = null, compressed = false, userID = null, content = null, marshalledProperties = org.apache.activemq.util.ByteSequence@19e19da, dataStructure = null, redeliveryCounter = 0, size = 0, properties = {breadcrumbId=ID:xxxxxxxxxxxxxx, Title=300, CamelJmsDeliveryMode=1}, readOnlyProperties = true, readOnlyBody = true, droppable = false, jmsXGroupFirstForConsumer = false} ActiveMQMapMessage{ theTable = {} }

这是middlewares代码

private static class MyRouteBuilder extends RouteBuilder {
    @Override
    public void configure() throws Exception {
        from("activemq:queue:Q.Middleware?concurrentConsumers=1&maxConcurrentConsumers=10")
        .threads(1, 100)
            .process(new Processor() {
                public void process(Exchange exchange) {
                    //some code
                }
            })
        .inOut("activemq2:queue:Q.3RD")
        ;
    }
}

3rdComponent

private static class MyRouteBuilder extends RouteBuilder {
    @Override
    public void configure() {
        from("activemq:queue:Q.3RD")
        .threads(1, 100)
        .process(new Processor() {
            public void process(Exchange exchange) {
                //some code
            }
        })
        ;
    }
}

问题答案:

更新:

错误是 产生 非唯一的 CorrelationIDs(随机字符串生成器中的错误)很简单!:|



 类似资料:
  • null 这些类有各自的映射,在数据库模型中,这些表没有关联,在hibernate映射中也没有关联,但是在保存合同时,它必须在字段(业务规则)中具有相同的,但在某些情况下,也给出了没有验证的合同。 我的问题是当我运行HQL查询时: 但Hibernate使用交叉连接语句翻译并合并所有记录。是否有方法在文件中的非相关类之间执行HQL查询? 规则:不应是映射的实体。

  • 我浏览了RabbitTemplate的API。它只提供从队列中获取消息的receive方法。但是,无法获得具有特定关联ID的消息。你能帮我理解一下我在这里错过了什么吗。 目前,我正在使用ActiveMQ的JMS API接收消息,使用以下代码创建带有消息选择器的Consumer。希望对Spring AMQP和RabbitMQ执行同样的操作:

  • 云课回放相关 日期: 2020-01-19 创盛视联数码科技(北京)有限公司 一、合流回放 1.1 查询回放列表 描述 通过该接口可以分页获取回放列表的信息 地址 https://api.csslcloud.net/api/v2/record/info 方法 GET 请求参数 参数名称 参数类型 参数说明 备注 roomid 字符串 直播间id 必须 userid 字符串 开发者账号ID

  • 问题内容: 如果我有一个分数表: 然后我运行查询: 我将收到的最大分数是20,但是返回的其余列并非来自同一行。 问题答案: 您正在使用,这是一个汇总函数。聚合函数具有将表中的多行视为一组的作用。如果您没有做任何特别的事情,则整个表中的所有行都将被用作一个大组,并且当存在类似的聚集函数时,所有这些行都将被压缩为一个聚合行。这聚光效果会也时有发生的其它集合函数一样,,和朋友(见:http://dev.

  • 问题内容: 今天,我了解并决定将其使用和测试。我知道整数是不可变的,因此id应该是(?)相同。但是,当我在提示中进行测试时,我注意到了一些细微的差异,并想找出其背后的原因。 凉!到目前为止,所有签出。但是之后… 好的,所以测试一下,我注意到此行为一直持续到256年。id最多可以是8位数字,然后257将返回更大的id,可以是15位数字。因此类型必须是8个字节。 所以我发现它与8个字节长有关,但是任何

  • 我希望hibernate创建三个表,但在我的情况下,只创建了一个表角色,我得到了如下错误 原因:org.hibernate.tool.schema.spi.schemaManagementException:无法对JDBC目标执行模式管理[创建表user_role(user_role_id numeric(19,0)标识not null,role_id numeric(19,0),user_id