用于更新camel-cassandraql中的地图列的准备好的语句失败

时间:2018-10-15 12:46:25

标签: cassandra apache-camel

我遇到了一个例外-“输入'?'处没有可行的选择”,我认为这是因为查询语句为“ +”。

private static final String CQL_BEAN = "cql:bean:cassandraCluster";

String updataQuery = "UPDATE user_preference SET preference = preference + ? WHERE user_id = ? AND tenant_id = ? IF EXISTS";

.to(CQL_BEAN + "/" + cassandraProperties.getKeyspaceName() + "?cql=" + this.updataQuery + "&prepareStatements=false") 

1 个答案:

答案 0 :(得分:1)

更新:可能是因为您使用的是prepareStatement = false-在这种情况下,它看起来不会替代占位符...尽管我不是这种集成的专家。

....

您要使用此语法实现什么?仅更新以前插入的记录?

通常,LWT仅在数量非常有限的情况下使用,因为它们需要集群中节点之间的协调,并严重降低性能。您可以在documentation中找到有关LWT的更多详细信息。