Summary: Archives space objects to Cassandra.
OverviewThe Archive Container can be configured to work against Cassandra (without writing any extra code). The ArchiveOperationHandler interface abstracts the Big-Data storage from the Archive Container. The Cassandra Archive Operation Handler implements this interface by serializing space objects into Cassandra. ConfigurationLibrary dependenciesThe Cassandra Archive Operation Handler uses the Hector Library for communicating with the Cassandra cluster.
hector using log4j
<dependency> <groupId>org.apache.cassandra</groupId> <artifactId>cassandra-clientutil</artifactId> <version>1.1.6</version> </dependency> <dependency> <groupId>org.apache.cassandra</groupId> <artifactId>cassandra-thrift</artifactId> <version>1.1.6</version> </dependency> <dependency> <groupId>org.hectorclient</groupId> <artifactId>hector-core</artifactId> <version>1.1-2</version> </dependency> hector using java.util.logging <dependency> <groupId>org.apache.cassandra</groupId> <artifactId>cassandra-clientutil</artifactId> <version>1.1.6</version> </dependency> <dependency> <groupId>org.apache.cassandra</groupId> <artifactId>cassandra-thrift</artifactId> <version>1.1.6</version> </dependency> <dependency> <groupId>org.hectorclient</groupId> <artifactId>hector-core</artifactId> <version>1.1-2</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.6.6</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-jdk14</artifactId> <version>1.6.6</version> </dependency> Setup
Namespace
<os-archive:cassandra-archive-handler id="cassandraArchiveHandler" giga-space="gigaSpace" hosts="127.0.0.1" port="9160" keyspace="mykeyspace" write-consistency="QUORUM" /> Plain XML <bean id="cassandraArchiveHandler" class="org.openspaces.persistency.cassandra.archive.CassandraArchiveOperationHandler"> <property name="gigaSpace" ref="gigaSpace"/> <property name="hosts" value="127.0.0.1" /> <property name="port" value="9160" /> <property name="keyspace" value="mykeyspace" /> <property name="writeConsistency" value="QUORUM" /> </bean> Code ArchiveOperationHandler cassandraArchiveHandler = new CassandraArchiveOperationHandlerConfigurer() .gigaSpace(gigaSpace) .hosts("127.0.0.1") .port(9160) .keyspace("mykeyspace") .writeConsistency(CassandraConsistencyLevel.QUORUM) .create(); // To free the resources used by the archive container make sure you close it properly. // A good life cycle event to place the destroy() call would be within the @PreDestroy or DisposableBean#destroy() method. archiveContainer.destroy(); CassandraArchiveOperationHandler Properties
XSD Schema
Property Value SerializerBy default when serializing object/document properties to column values, the following serialization logic is applied:
It is possible to override this default behavior by providing a custom implementation of PropertyValueSerializer . ByteBuffer toByteBuffer(Object value); Object fromByteBuffer(ByteBuffer byteBuffer); Properties will only be serialized by the custom serializer if their type does not match a primitive type in Cassandra. Known LimitationsThe CassandraArchiveHandler has the following known limitations:
|
![]() |
GigaSpaces.com - Legal Notice - 3rd Party Licenses - Site Map - API Docs - Forum - Downloads - Blog - White Papers - Contact Tech Writing - Gen. by Atlassian Confluence |