Class CassandraIdempotentRepository

  • All Implemented Interfaces:
    AutoCloseable, org.apache.camel.Service, org.apache.camel.ShutdownableService, org.apache.camel.spi.IdempotentRepository, org.apache.camel.StatefulService, org.apache.camel.SuspendableService
    Direct Known Subclasses:
    NamedCassandraIdempotentRepository

    public class CassandraIdempotentRepository
    extends org.apache.camel.support.service.ServiceSupport
    implements org.apache.camel.spi.IdempotentRepository
    Implementation of IdempotentRepository using Cassandra table to store message ids. Advice: use LeveledCompaction for this table and tune read/write consistency levels. Warning: Cassandra is not the best tool for queuing use cases See http://www.datastax.com/dev/blog/cassandra-anti-patterns-queues-and-queue-like-datasets
    • Constructor Detail

      • CassandraIdempotentRepository

        public CassandraIdempotentRepository()
      • CassandraIdempotentRepository

        public CassandraIdempotentRepository​(com.datastax.oss.driver.api.core.CqlSession session)
    • Method Detail

      • isApplied

        protected final boolean isApplied​(com.datastax.oss.driver.api.core.cql.ResultSet resultSet)
      • getPKValues

        protected Object[] getPKValues​(String key)
      • doStart

        protected void doStart()
                        throws Exception
        Overrides:
        doStart in class org.apache.camel.support.service.BaseService
        Throws:
        Exception
      • doStop

        protected void doStop()
                       throws Exception
        Overrides:
        doStop in class org.apache.camel.support.service.BaseService
        Throws:
        Exception
      • initInsertStatement

        protected void initInsertStatement()
      • add

        public boolean add​(String key)
        Specified by:
        add in interface org.apache.camel.spi.IdempotentRepository
      • initSelectStatement

        protected void initSelectStatement()
      • contains

        public boolean contains​(String key)
        Specified by:
        contains in interface org.apache.camel.spi.IdempotentRepository
      • confirm

        public boolean confirm​(String key)
        Specified by:
        confirm in interface org.apache.camel.spi.IdempotentRepository
      • initDeleteStatement

        protected void initDeleteStatement()
      • remove

        public boolean remove​(String key)
        Specified by:
        remove in interface org.apache.camel.spi.IdempotentRepository
      • initClearStatement

        protected void initClearStatement()
      • clear

        public void clear()
        Specified by:
        clear in interface org.apache.camel.spi.IdempotentRepository
      • getSession

        public com.datastax.oss.driver.api.core.CqlSession getSession()
      • setSession

        public void setSession​(com.datastax.oss.driver.api.core.CqlSession session)
      • getTable

        public String getTable()
      • setTable

        public void setTable​(String table)
      • getPKColumns

        public String[] getPKColumns()
      • setPKColumns

        public void setPKColumns​(String... pkColumns)
      • setTtl

        public void setTtl​(Integer ttl)
      • getWriteConsistencyLevel

        public com.datastax.oss.driver.api.core.ConsistencyLevel getWriteConsistencyLevel()
      • setWriteConsistencyLevel

        public void setWriteConsistencyLevel​(com.datastax.oss.driver.api.core.ConsistencyLevel writeConsistencyLevel)
      • getReadConsistencyLevel

        public com.datastax.oss.driver.api.core.ConsistencyLevel getReadConsistencyLevel()
      • setReadConsistencyLevel

        public void setReadConsistencyLevel​(com.datastax.oss.driver.api.core.ConsistencyLevel readConsistencyLevel)
      • getPrefixPKValues

        public String[] getPrefixPKValues()
      • setPrefixPKValues

        public void setPrefixPKValues​(String[] prefixPKValues)