@ -1,5 +1,5 @@
@@ -1,5 +1,5 @@
/ *
* Copyright 2012 - 2019 the original author or authors .
* Copyright 2012 - 2020 the original author or authors .
*
* Licensed under the Apache License , Version 2 . 0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
@ -15,8 +15,9 @@
@@ -15,8 +15,9 @@
* /
package org.springframework.boot.actuate.cassandra ;
import com.datastax.driver.core.querybuilder.QueryBuilder ;
import com.datastax.driver.core.querybuilder.Select ;
import com.datastax.driver.core.ConsistencyLevel ;
import com.datastax.driver.core.SimpleStatement ;
import com.datastax.driver.core.Statement ;
import reactor.core.publisher.Mono ;
import org.springframework.boot.actuate.health.AbstractReactiveHealthIndicator ;
@ -33,6 +34,9 @@ import org.springframework.util.Assert;
@@ -33,6 +34,9 @@ import org.springframework.util.Assert;
* /
public class CassandraReactiveHealthIndicator extends AbstractReactiveHealthIndicator {
private static final Statement SELECT = new SimpleStatement ( "SELECT release_version FROM system.local" )
. setConsistencyLevel ( ConsistencyLevel . LOCAL_ONE ) ;
private final ReactiveCassandraOperations reactiveCassandraOperations ;
/ * *
@ -47,8 +51,7 @@ public class CassandraReactiveHealthIndicator extends AbstractReactiveHealthIndi
@@ -47,8 +51,7 @@ public class CassandraReactiveHealthIndicator extends AbstractReactiveHealthIndi
@Override
protected Mono < Health > doHealthCheck ( Health . Builder builder ) {
Select select = QueryBuilder . select ( "release_version" ) . from ( "system" , "local" ) ;
return this . reactiveCassandraOperations . getReactiveCqlOperations ( ) . queryForObject ( select , String . class )
return this . reactiveCassandraOperations . getReactiveCqlOperations ( ) . queryForObject ( SELECT , String . class )
. map ( ( version ) - > builder . up ( ) . withDetail ( "version" , version ) . build ( ) ) . single ( ) ;
}