@FunctionalInterface public interface AsyncSessionCallback<T>
Session
. Allows to execute
any number of operations on a single session, using any type and number of statements.
This is particularly useful for delegating to existing data access code that expects a Session
to work on and
throws DriverException
. For newly written code, it is strongly recommended to use CqlTemplate
's more
specific operations, for example a query
or update
variant.
Modifier and Type | Method and Description |
---|---|
ListenableFuture<T> |
doInSession(com.datastax.driver.core.Session session)
Gets called by
CqlTemplate.execute(org.springframework.data.cassandra.core.cql.SessionCallback<T>) with an active Cassandra Session . |
ListenableFuture<T> doInSession(com.datastax.driver.core.Session session) throws com.datastax.driver.core.exceptions.DriverException, DataAccessException
CqlTemplate.execute(org.springframework.data.cassandra.core.cql.SessionCallback<T>)
with an active Cassandra Session
. Does not need to care about
activating or closing the Session
.
Allows for returning a result object created within the callback, i.e. a domain object or a collection of domain
objects. Note that there's special support for single step actions: see CqlTemplate.queryForObject(java.lang.String, java.lang.Class<T>)
etc. A
thrown RuntimeException
is treated as application exception: it gets propagated to the caller of the
template.
session
- active Cassandra Session, must not be null.ListenableFuture<Void>
if none.com.datastax.driver.core.exceptions.DriverException
- if thrown by a Session method, to be auto-converted to a DataAccessException
.DataAccessException
- in case of custom exceptions.AsyncCqlTemplate.queryForObject(String, Class)
,
AsyncCqlTemplate.queryForResultSet(String)
Copyright © 2011–2018 Pivotal Software, Inc.. All rights reserved.