|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.datastax.driver.core.Session
public class Session
A session holds connections to a Cassandra cluster, allowing it to be queried. Each session maintains multiple connections to the cluster nodes, provides policies to choose which node to use for each query (round-robin on all nodes of the cluster by default), and handles retries for failed query (when it makes sense), etc...
Session instances are thread-safe and usually a single instance is enough per application. However, a given session can only be set to one keyspace at a time, so one instance per keyspace is necessary.
Method Summary | |
---|---|
ResultSet |
execute(Query query)
Executes the provided query. |
ResultSet |
execute(String query)
Executes the provided query. |
ResultSetFuture |
executeAsync(Query query)
Executes the provided query asynchronously. |
ResultSetFuture |
executeAsync(String query)
Executes the provided query asynchronously. |
Cluster |
getCluster()
Returns the Cluster object this session is part of. |
PreparedStatement |
prepare(String query)
Prepares the provided query. |
void |
shutdown()
Shuts down this session instance. |
boolean |
shutdown(long timeout,
TimeUnit unit)
Shutdown this session instance, only waiting a definite amount of time. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
---|
public ResultSet execute(String query)
execute(new SimpleStatement(query))
.
query
- the CQL query to execute.
NoHostAvailableException
- if no host in the cluster can be
contacted successfully to execute this query.
QueryExecutionException
- if the query triggered an execution
exception, i.e. an exception thrown by Cassandra when it cannot execute
the query with the requested consistency level successfully.
QueryValidationException
- if the query if invalid (syntax error,
unauthorized or any other validation problem).public ResultSet execute(Query query)
query
- the CQL query to execute (that can be either a Statement
or a BoundStatement
). If it is a BoundStatement
, all variables must have been bound (the statement must
be ready).
NoHostAvailableException
- if no host in the cluster can be
contacted successfully to execute this query.
QueryExecutionException
- if the query triggered an execution
exception, i.e. an exception thrown by Cassandra when it cannot execute
the query with the requested consistency level successfully.
QueryValidationException
- if the query if invalid (syntax error,
unauthorized or any other validation problem).
IllegalStateException
- if query
is a BoundStatement
but !query.isReady()
.public ResultSetFuture executeAsync(String query)
executeAsync(new SimpleStatement(query))
.
query
- the CQL query to execute.
public ResultSetFuture executeAsync(Query query)
ResultSetFuture
.
Note that for queries that doesn't return a result (INSERT, UPDATE and
DELETE), you will need to access the ResultSetFuture (that is call one of
its get method to make sure the query was successful.
query
- the CQL query to execute (that can be either a Statement
or a BoundStatement
). If it is a BoundStatement
, all variables must have been bound (the statement must
be ready).
IllegalStateException
- if query
is a BoundStatement
but !query.isReady()
.public PreparedStatement prepare(String query)
query
- the CQL query to prepare
query
.
NoHostAvailableException
- if no host in the cluster can be
contacted successfully to execute this query.public void shutdown()
This closes all connections used by this sessions. Note that if you want
to shut down the full Cluster
instance this session is part of,
you should use Cluster.shutdown()
instead (which will call this
method for all session but also release some additional resources).
This method has no effect if the session was already shutdown.
public boolean shutdown(long timeout, TimeUnit unit)
This closes all connections used by this sessions. Note that if you want
to shutdown the full Cluster
instance this session is part of,
you should use Cluster.shutdown()
instead (which will call this
method for all session but also release some additional resources).
Note that this method is not thread safe in the sense that if another
shutdown is perform in parallel, it might return true
even if
the instance is not yet fully shutdown.
timeout
- how long to wait for the session to shutdown.unit
- the unit for the timeout.
true
if the session has been properly shutdown within
the timeout
, false
otherwise.public Cluster getCluster()
Cluster
object this session is part of.
Cluster
object this session is part of.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |