code
docs
tests
EntityStore service backed by a Riak bucket.
The EntityStore comes in two flavours: HTTP or ProtocolBuffer based. See the Riak documentation.
Table 69. Artifact
Group ID | Artifact ID | Version |
---|---|---|
org.qi4j.extension | org.qi4j.extension.entitystore-riak | 2.1 |
Assembly is done using the provided Assemblers.
For HTTP based Riak client:
public void assemble( ModuleAssembly module ) throws AssemblyException { [...snip...] new RiakHttpMapEntityStoreAssembler().withConfig( config, Visibility.layer ).assemble( module ); }
For ProtocolBuffer based Riak client:
public void assemble( ModuleAssembly module ) throws AssemblyException { [...snip...] new RiakProtobufMapEntityStoreAssembler().withConfig( config, Visibility.layer ).assemble( module ); }
Here are the configuration properties for the HTTP based Riak client:
public interface RiakHttpEntityStoreConfiguration extends ConfigurationComposite { /** * List of Riak URLs. * * Defaulted to http://127.0.0.1:8098/riak if empty. */ @UseDefaults Property<List<String>> urls(); /** * Riak Bucket where Entities state will be stored. * * Defaulted to "qi4j:entities". */ @Optional Property<String> bucket(); /** * Maximum total connections. * * Defaulted to 50. Use 0 for infinite number of connections. */ @Optional Property<Integer> maxConnections(); /** * The connection, socket read and pooled connection acquisition timeout in milliseconds. * * Defaulted to 0 (infinite). */ @UseDefaults Property<Integer> timeout(); }
Here are the configuration properties for the ProtocolBuffer based Riak client:
public interface RiakProtobufEntityStoreConfiguration extends ConfigurationComposite { /** * List of Riak Protocol Buffer hosts. * * Each entry can contain either an IP address / hostname * or an IP address / hostname followed by a column and the host's port. * * Defaulted to 127.0.0.1 if empty. */ @UseDefaults Property<List<String>> hosts(); /** * Riak Bucket where Entities state will be stored. * * Defaulted to "qi4j:entities". */ @Optional Property<String> bucket(); /** * Maximum total connections. * * Defaulted to 50. Use 0 for infinite number of connections. */ @Optional Property<Integer> maxConnections(); /** * The connection timeout in milliseconds. * * Defaulted to 1000. */ @Optional Property<Integer> connectionTimeout(); /** * Idle connection time to live in milliseconds. * * Defaulted to 1000. */ @Optional Property<Integer> idleConnectionTTL(); /** * Max pool size. * * Defaulted to 0 (unlimited). */ @UseDefaults Property<Integer> maxPoolSize(); /** * Initial pool size. * * Defaulted to 0. */ @UseDefaults Property<Integer> initialPoolSize(); /** * Socket buffer size in KB. * * Defaulted to 16. */ @Optional Property<Integer> socketBufferSizeKb(); }