@Override public void save(final Session session) { Map<String, String> attrs = new HashMap<>(session.attributes()); attrs.put("_createdAt", Long.toString(session.createdAt())); attrs.put("_accessedAt", Long.toString(session.accessedAt())); attrs.put("_savedAt", Long.toString(session.savedAt())); sessions.set(session.id(), attrs, timeout, TimeUnit.SECONDS); }
@Test public void saveUpdatedMaxInactiveIntervalInSecondsFlushModeImmediate() { verify(this.sessions, times(1)).addEntryListener(any(MapListener.class), anyBoolean()); this.repository.setHazelcastFlushMode(HazelcastFlushMode.IMMEDIATE); HazelcastSession session = this.repository.createSession(); String sessionId = session.getId(); session.setMaxInactiveInterval(Duration.ofSeconds(1)); verify(this.sessions, times(1)).set(eq(sessionId), eq(session.getDelegate()), isA(Long.class), eq(TimeUnit.SECONDS)); verify(this.sessions).setTtl(eq(sessionId), anyLong(), any()); verify(this.sessions, times(1)).executeOnKey(eq(sessionId), any(EntryProcessor.class)); this.repository.save(session); verifyZeroInteractions(this.sessions); }
@Test public void saveUpdatedLastAccessedTimeFlushModeOnSave() { verify(this.sessions, times(1)).addEntryListener(any(MapListener.class), anyBoolean()); HazelcastSession session = this.repository.createSession(); session.setLastAccessedTime(Instant.now()); verifyZeroInteractions(this.sessions); this.repository.save(session); verify(this.sessions, times(1)).set(eq(session.getId()), eq(session.getDelegate()), isA(Long.class), eq(TimeUnit.SECONDS)); verifyZeroInteractions(this.sessions); }
@Test public void saveUpdatedMaxInactiveIntervalInSecondsFlushModeOnSave() { verify(this.sessions, times(1)).addEntryListener(any(MapListener.class), anyBoolean()); HazelcastSession session = this.repository.createSession(); session.setMaxInactiveInterval(Duration.ofSeconds(1)); verifyZeroInteractions(this.sessions); this.repository.save(session); verify(this.sessions, times(1)).set(eq(session.getId()), eq(session.getDelegate()), isA(Long.class), eq(TimeUnit.SECONDS)); verifyZeroInteractions(this.sessions); }
@Test public void saveNewFlushModeOnSave() { verify(this.sessions, times(1)).addEntryListener(any(MapListener.class), anyBoolean()); HazelcastSession session = this.repository.createSession(); verifyZeroInteractions(this.sessions); this.repository.save(session); verify(this.sessions, times(1)).set(eq(session.getId()), eq(session.getDelegate()), isA(Long.class), eq(TimeUnit.SECONDS)); verifyZeroInteractions(this.sessions); }
@Test public void removeAttributeFlushModeOnSave() { verify(this.sessions, times(1)).addEntryListener(any(MapListener.class), anyBoolean()); HazelcastSession session = this.repository.createSession(); session.removeAttribute("testName"); verifyZeroInteractions(this.sessions); this.repository.save(session); verify(this.sessions, times(1)).set(eq(session.getId()), eq(session.getDelegate()), isA(Long.class), eq(TimeUnit.SECONDS)); verifyZeroInteractions(this.sessions); }
@Test public void saveUpdatedAttributeFlushModeOnSave() { verify(this.sessions, times(1)).addEntryListener(any(MapListener.class), anyBoolean()); HazelcastSession session = this.repository.createSession(); session.setAttribute("testName", "testValue"); verifyZeroInteractions(this.sessions); this.repository.save(session); verify(this.sessions, times(1)).set(eq(session.getId()), eq(session.getDelegate()), isA(Long.class), eq(TimeUnit.SECONDS)); verifyZeroInteractions(this.sessions); }
@Test public void saveNewFlushModeImmediate() { verify(this.sessions, times(1)).addEntryListener(any(MapListener.class), anyBoolean()); this.repository.setHazelcastFlushMode(HazelcastFlushMode.IMMEDIATE); HazelcastSession session = this.repository.createSession(); verify(this.sessions, times(1)).set(eq(session.getId()), eq(session.getDelegate()), isA(Long.class), eq(TimeUnit.SECONDS)); verifyZeroInteractions(this.sessions); }
@Test public void saveUnchangedFlushModeOnSave() { verify(this.sessions, times(1)).addEntryListener(any(MapListener.class), anyBoolean()); HazelcastSession session = this.repository.createSession(); this.repository.save(session); verify(this.sessions, times(1)).set(eq(session.getId()), eq(session.getDelegate()), isA(Long.class), eq(TimeUnit.SECONDS)); this.repository.save(session); verifyZeroInteractions(this.sessions); }
@Test public void saveUnchangedFlushModeImmediate() { verify(this.sessions, times(1)).addEntryListener(any(MapListener.class), anyBoolean()); this.repository.setHazelcastFlushMode(HazelcastFlushMode.IMMEDIATE); HazelcastSession session = this.repository.createSession(); verify(this.sessions, times(1)).set(eq(session.getId()), eq(session.getDelegate()), isA(Long.class), eq(TimeUnit.SECONDS)); this.repository.save(session); verifyZeroInteractions(this.sessions); }
@Test public void saveUpdatedLastAccessedTimeFlushModeImmediate() { verify(this.sessions, times(1)).addEntryListener(any(MapListener.class), anyBoolean()); this.repository.setHazelcastFlushMode(HazelcastFlushMode.IMMEDIATE); HazelcastSession session = this.repository.createSession(); session.setLastAccessedTime(Instant.now()); verify(this.sessions, times(1)).set(eq(session.getId()), eq(session.getDelegate()), isA(Long.class), eq(TimeUnit.SECONDS)); verify(this.sessions, times(1)).executeOnKey(eq(session.getId()), any(EntryProcessor.class)); this.repository.save(session); verifyZeroInteractions(this.sessions); }
@Test public void saveUpdatedAttributeFlushModeImmediate() { verify(this.sessions, times(1)).addEntryListener(any(MapListener.class), anyBoolean()); this.repository.setHazelcastFlushMode(HazelcastFlushMode.IMMEDIATE); HazelcastSession session = this.repository.createSession(); session.setAttribute("testName", "testValue"); verify(this.sessions, times(1)).set(eq(session.getId()), eq(session.getDelegate()), isA(Long.class), eq(TimeUnit.SECONDS)); verify(this.sessions, times(1)).executeOnKey(eq(session.getId()), any(EntryProcessor.class)); this.repository.save(session); verifyZeroInteractions(this.sessions); }
@Test public void removeAttributeFlushModeImmediate() { verify(this.sessions, times(1)).addEntryListener(any(MapListener.class), anyBoolean()); this.repository.setHazelcastFlushMode(HazelcastFlushMode.IMMEDIATE); HazelcastSession session = this.repository.createSession(); session.removeAttribute("testName"); verify(this.sessions, times(1)).set(eq(session.getId()), eq(session.getDelegate()), isA(Long.class), eq(TimeUnit.SECONDS)); verify(this.sessions, times(1)).executeOnKey(eq(session.getId()), any(EntryProcessor.class)); this.repository.save(session); verifyZeroInteractions(this.sessions); }
@Override public void save(HazelcastSession session) { if (session.isNew) { this.sessions.set(session.getId(), session.getDelegate(), session.getMaxInactiveInterval().getSeconds(), TimeUnit.SECONDS); } else if (session.sessionIdChanged) { this.sessions.delete(session.originalId); session.originalId = session.getId(); this.sessions.set(session.getId(), session.getDelegate(), session.getMaxInactiveInterval().getSeconds(), TimeUnit.SECONDS); } else if (session.hasChanges()) { SessionUpdateEntryProcessor entryProcessor = new SessionUpdateEntryProcessor(); if (session.lastAccessedTimeChanged) { entryProcessor.setLastAccessedTime(session.getLastAccessedTime()); } if (session.maxInactiveIntervalChanged) { if (SUPPORTS_SET_TTL) { updateTtl(session); } entryProcessor.setMaxInactiveInterval(session.getMaxInactiveInterval()); } if (!session.delta.isEmpty()) { entryProcessor.setDelta(session.delta); } this.sessions.executeOnKey(session.getId(), entryProcessor); } session.clearChangeFlags(); }
public static void main(String[] args) throws Exception { Config config = new Config(); config.setProperty("hazelcast.rest.enabled", "true"); HazelcastInstance hz = Hazelcast.newHazelcastInstance(config); Person person = new Person("Joe"); IMap<String, String> hzSimpleMap = hz.getMap("simple"); hzSimpleMap.set("key1", "value1"); IMap<String, Person> hzObjectMap = hz.getMap("object"); hzObjectMap.set("key1", person); } }
@Override public void put(Object key, Object value) { if (key != null) { map.set(key, toStoreValue(value)); } }
@TimeStep(prob = 0) public void set(ThreadState state) { String key = state.randomKey(); String value = state.randomValue(); map.set(key, value); }
@Override public void put(Object key, Object value) { if (key != null) { map.set(key, toStoreValue(value)); } }
@Override public void run(String... arg0) throws Exception { IMap<String, String> helloMap = this.hazelcastInstance.getMap("hello"); if (!helloMap.isEmpty()) { LOGGER.info("Skip loading '{}', not empty", helloMap.getName()); } else { Arrays.stream(GREETINGS).forEach(pair -> { helloMap.set(pair[0], pair[1]); }); LOGGER.info("Loaded {} into '{}'", GREETINGS.length, helloMap.getName()); } }
private static void populate(IMap<Integer, Person> personsMap) { Person person1 = Person.newBuilder().setId(1).setEmail("dude@hazelcast.com").setName("Dude").build(); Person person2 = Person.newBuilder().setId(2).setEmail("sales@hazelcast.com").setName("John Appleseed").build(); Person person3 = Person.newBuilder().setId(3).setEmail("support@hazelcast.com").setName("John Support").build(); personsMap.set(person1.getId(), person1); personsMap.set(person2.getId(), person2); personsMap.set(person3.getId(), person3); } }