Class/Object

com.rbmhtechnology.eventuate.log.cassandra

Cassandra

Related Docs: object Cassandra | package cassandra

Permalink

class Cassandra extends Extension

An Akka extension for using Apache Cassandra as event log storage backend. The extension connects to the configured Cassandra cluster and creates the configured keyspace if it doesn't exist yet. Keyspace auto-creation can be turned off by setting

eventuate.log.cassandra.keyspace-autocreate = false

The name of the keyspace defaults to eventuate and can be configured with

eventuate.log.cassandra.keyspace = "eventuate"

The Cassandra cluster contact points can be configured with

eventuate.log.cassandra.contact-points = [host1[:port1], host2[:port2], ...]

Ports are optional and default to 9042 according to

eventuate.log.cassandra.default-port = 9042

This extension also creates two index tables for storing replication progress data and event log indexing progress data. The names of these tables have a prefix defined by

eventuate.log.cassandra.table-prefix = "log"

Assuming a log prefix

If two instances of this extensions are created concurrently by two different actor systems, index table creation can fail (see CASSANDRA-8387). It is therefore recommended to initialize a clean Cassandra cluster with a separate administrative application that only creates an instance of this Akka extension before creating CassandraEventLog actors. This must be done only once. Alternatively, different actor systems can be configured with different eventuate.log.cassandra.keyspace names. In this case they won't share a keyspace and index tables and concurrent initialization is not an issue.

Self Type
Cassandra
See also

CassandraEventLog

Linear Supertypes
Extension, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Cassandra
  2. Extension
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Cassandra(system: ExtendedActorSystem)

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. def cluster: Cluster

    Permalink

    Cassandra cluster reference.

  7. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  8. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  9. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  11. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  12. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  13. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  14. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  15. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  16. def session: Session

    Permalink

    Cassandra session used by this extension.

  17. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  18. val system: ExtendedActorSystem

    Permalink
  19. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  20. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  21. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  22. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Extension

Inherited from AnyRef

Inherited from Any

Ungrouped