protected void completeGroup(Object correlationKey, MessageGroup group, Lock lock) { Message<?> first = null; if (group != null) { first = group.getOne(); } completeGroup(first, correlationKey, group, lock); }
@Override public Message<?> getOneMessageFromGroup(Object groupId) { return getMessageGroup(groupId).getOne(); }
@Test public void shouldExpireMessageGroup() throws Exception { TestMessageStore store = new TestMessageStore(); final List<String> list = new ArrayList<String>(); store.registerMessageGroupExpiryCallback((messageGroupStore, group) -> { list.add(group.getOne().getPayload().toString()); messageGroupStore.removeMessageGroup(group.getGroupId()); }); store.expireMessageGroups(-10000); assertEquals("[foo]", list.toString()); assertEquals(0, store.getMessageGroup("bar").size()); }
@Test public void shouldExpireMessageGroup() throws Exception { SimpleMessageStore store = new SimpleMessageStore(); final List<String> list = new ArrayList<String>(); store.registerMessageGroupExpiryCallback((messageGroupStore, group) -> { list.add(group.getOne().getPayload().toString()); messageGroupStore.removeMessageGroup(group.getGroupId()); }); Message<String> testMessage1 = MessageBuilder.withPayload("foo").build(); store.addMessageToGroup("bar", testMessage1); assertEquals(1, store.getMessageGroup("bar").size()); store.expireMessageGroups(-10000); assertEquals("[foo]", list.toString()); assertEquals(0, store.getMessageGroup("bar").size()); }
protected void completeGroup(Object correlationKey, MessageGroup group, Lock lock) { Message<?> first = null; if (group != null) { first = group.getOne(); } completeGroup(first, correlationKey, group, lock); }
@Override public Message<?> getOneMessageFromGroup(Object groupId) { return getMessageGroup(groupId).getOne(); }
@Test public void shouldRemoveFromGroup() throws Exception { SimpleMessageStore store = new SimpleMessageStore(); Message<String> testMessage1 = MessageBuilder.withPayload("foo").build(); store.addMessageToGroup("bar", testMessage1); Message<?> testMessage2 = store.getMessageGroup("bar").getOne(); store.removeMessagesFromGroup("bar", testMessage2); MessageGroup group = store.getMessageGroup("bar"); assertEquals(0, group.size()); assertEquals(0, store.getMessageGroup("bar").size()); }