在Cassandra连接丢弃期间查询没有例外

时间:2018-04-25 10:44:57

标签: spring cassandra spring-data spring-data-cassandra

在我们的SpringData Cassandra应用程序中,当连接到数据存储时,连接退出发生为

{{1}}

问题1:是否可以更改计划间隔?

问题2:当重试连接时,如果从spring数据执行查询,则发送空响应而不是异常,如果数据存储不可用,是否可能生成异常。

1 个答案:

答案 0 :(得分:0)

对于#1: 您需要将ReconnectionPolicy添加到群集定义中,请参阅此处的文档:

https://docs.datastax.com/en/drivers/java/3.5/com/datastax/driver/core/policies/ReconnectionPolicy.html

在context.xml中:

<bean id="reconnectionPolicy"
    class="com.datastax.driver.core.policies.ConstantReconnectionPolicy">
    <constructor-arg name="constantDelayMs"
        value="${cluster.reconnection.delayMillis}" />
</bean>
<cassandra:cluster id="globalCassandraCluster"
                contact-points="${cassandra.contactpoints}"
                port="${cassandra.port}"
                username="${cassandra.username}"
                password="${cassandra.password}"
                compression="LZ4"
                max-queue-size="256"
                reconnection-policy-ref="reconnectionPolicy">
 <cassandra:socket-options read-timeout-millis="${cassandra.socketReadTimeout}"/>

或:

Cluster cluster = Cluster.builder()
.addContactPoints("127.0.0.1")
.withPort(9142)
.withCredentials(username, password)
.withReconnectionPolicy(new ConstantReconnectionPolicy(DELAY_IN_MS))
.build();
Session session = cluster.connect();

对于#2: 您可以在此添加更多细节吗?查看您的代码和收到的回复会很有帮助。