use of com.hazelcast.config.MapStoreConfig in project hazelcast by hazelcast.
the class ClientMapTest method setup.
@Before
public void setup() {
Config config = getConfig();
config.getMapConfig("flushMap").setMapStoreConfig(new MapStoreConfig().setWriteDelaySeconds(1000).setImplementation(flushMapStore));
config.getMapConfig("putTransientMap").setMapStoreConfig(new MapStoreConfig().setWriteDelaySeconds(1000).setImplementation(transientMapStore));
server = hazelcastFactory.newHazelcastInstance(config);
ClientConfig clientConfig = new ClientConfig();
clientConfig.getSerializationConfig().addPortableFactory(TestSerializationConstants.PORTABLE_FACTORY_ID, new PortableFactory() {
public Portable create(int classId) {
return new NamedPortable();
}
});
client = hazelcastFactory.newHazelcastClient(clientConfig);
}
use of com.hazelcast.config.MapStoreConfig in project hazelcast by hazelcast.
the class ClientMapNearCacheTest method testMemberLoadAll_invalidates_clientNearCache.
@Test
public void testMemberLoadAll_invalidates_clientNearCache() {
int mapSize = 1000;
String mapName = randomMapName();
HazelcastInstance member = hazelcastFactory.newHazelcastInstance(newConfig());
HazelcastInstance client = getClient(hazelcastFactory, newInvalidationOnChangeEnabledNearCacheConfig(mapName));
Config config = member.getConfig();
SimpleMapStore store = new SimpleMapStore();
MapStoreConfig mapStoreConfig = new MapStoreConfig();
mapStoreConfig.setEnabled(true);
mapStoreConfig.setImplementation(store);
config.getMapConfig(mapName).setMapStoreConfig(mapStoreConfig);
final IMap<Integer, Integer> clientMap = client.getMap(mapName);
populateMap(clientMap, mapSize);
populateNearCache(clientMap, mapSize);
IMap<Integer, Integer> map = member.getMap(mapName);
map.loadAll(true);
assertTrueEventually(new AssertTask() {
public void run() {
assertThatOwnedEntryCountEquals(clientMap, 0);
}
});
}
use of com.hazelcast.config.MapStoreConfig in project hazelcast by hazelcast.
the class BasicMapStoreContext method callLifecycleSupportInit.
private static void callLifecycleSupportInit(MapStoreContext mapStoreContext) {
final MapStoreWrapper mapStoreWrapper = mapStoreContext.getMapStoreWrapper();
final MapServiceContext mapServiceContext = mapStoreContext.getMapServiceContext();
final NodeEngine nodeEngine = mapServiceContext.getNodeEngine();
final HazelcastInstance hazelcastInstance = nodeEngine.getHazelcastInstance();
final MapStoreConfig mapStoreConfig = mapStoreContext.getMapStoreConfig();
final Properties properties = mapStoreConfig.getProperties();
final String mapName = mapStoreContext.getMapName();
mapStoreWrapper.init(hazelcastInstance, properties, mapName);
}
use of com.hazelcast.config.MapStoreConfig in project hazelcast by hazelcast.
the class BasicMapStoreContext method create.
static MapStoreContext create(MapContainer mapContainer) {
final BasicMapStoreContext context = new BasicMapStoreContext();
final String mapName = mapContainer.getName();
final MapServiceContext mapServiceContext = mapContainer.getMapServiceContext();
final NodeEngine nodeEngine = mapServiceContext.getNodeEngine();
final PartitioningStrategy partitioningStrategy = mapContainer.getPartitioningStrategy();
final MapConfig mapConfig = mapContainer.getMapConfig();
final MapStoreConfig mapStoreConfig = mapConfig.getMapStoreConfig();
final ClassLoader configClassLoader = nodeEngine.getConfigClassLoader();
// create store.
final Object store = createStore(mapName, mapStoreConfig, configClassLoader);
final MapStoreWrapper storeWrapper = new MapStoreWrapper(mapName, store);
storeWrapper.instrument(nodeEngine);
setStoreImplToWritableMapStoreConfig(nodeEngine, mapName, store);
context.setMapName(mapName);
context.setMapStoreConfig(mapStoreConfig);
context.setPartitioningStrategy(partitioningStrategy);
context.setMapServiceContext(mapServiceContext);
context.setStoreWrapper(storeWrapper);
final MapStoreManager mapStoreManager = createMapStoreManager(context);
context.setMapStoreManager(mapStoreManager);
// todo this is user code. it may also block map store creation.
callLifecycleSupportInit(context);
return context;
}
use of com.hazelcast.config.MapStoreConfig in project hazelcast by hazelcast.
the class MapDataStores method createWriteBehindStore.
/**
* Creates a write behind data store.
*
* @param mapStoreContext context for map store operations.
* @param partitionId partition id of partition.
* @param writeBehindProcessor the {@link WriteBehindProcessor}
* @param <K> type of key to store.
* @param <V> type of value to store.
* @return new write behind store manager.
*/
public static <K, V> MapDataStore<K, V> createWriteBehindStore(MapStoreContext mapStoreContext, int partitionId, WriteBehindProcessor writeBehindProcessor) {
MapServiceContext mapServiceContext = mapStoreContext.getMapServiceContext();
MapStoreConfig mapStoreConfig = mapStoreContext.getMapStoreConfig();
WriteBehindStore mapDataStore = new WriteBehindStore(mapStoreContext, partitionId);
mapDataStore.setWriteBehindQueue(newWriteBehindQueue(mapServiceContext, mapStoreConfig.isWriteCoalescing()));
mapDataStore.setWriteBehindProcessor(writeBehindProcessor);
return (MapDataStore<K, V>) mapDataStore;
}
Aggregations