72.7. 聚合仓库

NamedCassandraAggregationRepository 将通过关联密钥在 Cassandra 表中进行交换交换,如下所示:

CAMEL_AGGREGATION.cql

CREATE TABLE CAMEL_AGGREGATION (
  NAME varchar,        -- Repository name
  KEY varchar,         -- Correlation id
  EXCHANGE_ID varchar, -- Exchange id
  EXCHANGE blob,       -- Serialized exchange
  PRIMARY KEY (NAME, KEY)
) WITH compaction = {'class':'LeveledCompactionStrategy'}
  AND gc_grace_seconds = 86400;

另外,CassandraAggregationRepository 没有 NAME 列,并可扩展为使用不同的数据模型。

选项默认值描述

CAMEL_AGGREGATION

表名称

pkColumns

名称,KEY

主键列

exchangeIdColumn

EXCHANGE_ID

Exchange Id 列

exchangeColumn

EXCHANGE

Exchange content 列

name

 

存储库名称,用于 NAME 列的值

ttl

 

Exchange time to live

writeConsistencyLevel

 

用于插入/删除交换的一致性级别: ANYONETWOQUORUMLOCAL_QUORUM

readConsistencyLevel

 

用于读取/检查交换的一致性级别: ONETWOQUORUMLOCAL_QUORUM