Skip to content

DataStores

Sven Meier edited this page Jan 19, 2021 · 7 revisions

Implementations of IPageStore interface

Overview

By default Wicket provides DiskPageStore.java that persists stateful pages serialized in the local disk storage. When the application is heavily used this may lead to performance regressions.

The modules provided by this project aim to provide better implementations which store the data in memory and may provide replication facilities.

To use one of these you have to configure Wicket by providing a customized IPageManager, e.g. using Ignite as the persistent manager:

application.setPageManagerProvider(new DefaultPageManagerProvider(application) {
  protected IPageStore newPersistentStore() {
    return new IgniteDataStore(application.getName(), Ignition.start());
  }
});

Modules

Memcached

Uses Memcached as a backend and spymemcached as a Java driver.

Maven

<dependency>
    <groupId>org.wicketstuff</groupId>
    <artifactId>wicketstuff-datastore-memcached</artifactId>
    <version>6.13.0</version>
</dependency>

Cassandra

Uses Apache Cassandra as a backend and cassandra-driver-core as a Java driver.

Works with Apache Cassandra 1.2+.

Maven

<dependency>
    <groupId>org.wicketstuff</groupId>
    <artifactId>wicketstuff-datastore-cassandra</artifactId>
    <version>6.13.0</version>
</dependency>

Redis

Uses Redis as a backend and Jetis as a Java driver.

Maven

<dependency>
    <groupId>org.wicketstuff</groupId>
    <artifactId>wicketstuff-datastore-redis</artifactId>
    <version>6.13.0</version>
</dependency>

Hazelcast

Uses Hazelcast as a backend and hazelcast's oficial Java driver.

Maven

<dependency>
    <groupId>org.wicketstuff</groupId>
    <artifactId>wicketstuff-datastore-hazelcast</artifactId>
    <version>6.13.0</version>
</dependency>

Common

Provides SessionQuotaManagingDataStore - an IDataStore implementation that manages the memory usage by http session. It should be used as a wrapper around another IDataStore implementation.

Additionally this module provides mini testing framework for all other implementations

Maven

<dependency>
    <groupId>org.wicketstuff</groupId>
    <artifactId>wicketstuff-datastore-common</artifactId>
    <version>6.13.0</version>
</dependency>

License

Apache 2.0.

Author

Martin Grigorov

Clone this wiki locally