BeanFactoryPostProcessor that does its best to register any missing Spring Data Cassandra beans that can be
defaulted. Specifically, it attempts to create default bean definitions for the following required interface types
via their default implementation types:
-
CassandraOperations via
CassandraTemplate
-
CassandraMappingContext via
CassandraMappingContext
-
CassandraConverter via
MappingCassandraConverter
If there are multiple definitions for any type that another type depends on, an
IllegalStateException is
thrown. For example, if there are two definitions for type
CassandraMappingContext present and no definition
for type
CassandraConverter, then it's impossible to know which
CassandraMappingContext is to be used
when creating a default definition for the
CassandraConverter.
If a single definition of a required type is present, then it is used. For example, if there is already a
CassandraMappingContext definition present, then it will be used in the
CassandraMappingContext bean
definition.
It requires that a single
Session or
CassandraSessionFactoryBean definition be present. As described
above, multiple
Session definitions, multiple
CassandraSessionFactoryBean definitions, or both a
Session and
CassandraSessionFactoryBean will cause an
IllegalStateException to be thrown.