private Message<StepExecutionRequest> createMessage(int sequenceNumber, int sequenceSize, StepExecutionRequest stepExecutionRequest, PollableChannel replyChannel) { return MessageBuilder.withPayload(stepExecutionRequest).setSequenceNumber(sequenceNumber) .setSequenceSize(sequenceSize) .setCorrelationId(stepExecutionRequest.getJobExecutionId() + ":" + stepExecutionRequest.getStepName()) .setReplyChannel(replyChannel) .build(); } }
@Test public void testCorrelationStrategyWithAtBeanExpression() throws Exception { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("expression-evaluating-correlation-with-bf.xml", this.getClass()); MessageChannel inputChannel = context.getBean("inputChannel", MessageChannel.class); QueueChannel outputChannel = context.getBean("outputChannel", QueueChannel.class); Message<?> message = MessageBuilder.withPayload("foo").setSequenceNumber(1).setSequenceSize(1).build(); inputChannel.send(message); Message<?> reply = outputChannel.receive(0); assertNotNull(reply); context.close(); }
private Message<?> correlatedMessage(Object correlationId, Integer sequenceSize, Integer sequenceNumber) { return MessageBuilder.withPayload("test") .setCorrelationId(correlationId) .setSequenceNumber(sequenceNumber) .setSequenceSize(sequenceSize) .build(); }
private SimpleMessageGroup groupWithFirstMessagesOfIncompleteSequence(SimpleMessageGroup messages) { Message<String> message1 = MessageBuilder.withPayload("test1").setSequenceSize(3).setSequenceNumber(1).build(); Message<String> message2 = MessageBuilder.withPayload("test2").setSequenceSize(3).setSequenceNumber(2).build(); messages.add(message1); messages.add(message2); return messages; }
@Test public void testWithAggregator() { this.aggChannel.send(MessageBuilder.withPayload("foo") .setCorrelationId("bar") .setSequenceSize(2) .setSequenceNumber(1) .build()); Message<?> discard = this.discards.receive(10000); assertNotNull(discard); assertEquals("foo", discard.getPayload()); }
private static Message<?> createMessage(String payload, Object correlationId, int sequenceSize, int sequenceNumber, MessageChannel replyChannel) { return MessageBuilder.withPayload(payload).setCorrelationId(correlationId).setSequenceSize(sequenceSize) .setSequenceNumber(sequenceNumber).setReplyChannel(replyChannel).build(); }
private static <T> Message<T> createMessage(T payload, Object correlationId, int sequenceSize, int sequenceNumber, MessageChannel outputChannel) { return MessageBuilder.withPayload(payload) .setCorrelationId(correlationId) .setSequenceSize(sequenceSize) .setSequenceNumber(sequenceNumber) .setReplyChannel(outputChannel).build(); }
private static <T> Message<T> createMessage(T payload, Object correlationId, int sequenceSize, int sequenceNumber, MessageChannel outputChannel) { return MessageBuilder.withPayload(payload).setCorrelationId(correlationId).setSequenceSize(sequenceSize) .setSequenceNumber(sequenceNumber).setReplyChannel(outputChannel).build(); }
private static <T> Message<T> createMessage(T payload, Object correlationId, int sequenceSize, int sequenceNumber, MessageChannel outputChannel) { return MessageBuilder.withPayload(payload) .setCorrelationId(correlationId) .setSequenceSize(sequenceSize) .setSequenceNumber(sequenceNumber) .setReplyChannel(outputChannel).build(); }
private static <T> Message<T> createMessage(T payload, Object correlationId, int sequenceSize, int sequenceNumber, MessageChannel outputChannel) { return MessageBuilder.withPayload(payload).setCorrelationId(correlationId).setSequenceSize(sequenceSize) .setSequenceNumber(sequenceNumber).setReplyChannel(outputChannel).build(); }
private static Message<?> correlatedMessage(Object correlationId, Integer sequenceSize, Integer sequenceNumber, Map<String, Object> headers) { return MessageBuilder.withPayload("test") .setCorrelationId(correlationId) .setSequenceNumber(sequenceNumber) .setSequenceSize(sequenceSize) .copyHeadersIfAbsent(headers) .build(); }
@Test public void hasSequenceSize_() throws Exception { int sequenceSize = 123; message = MessageBuilder.fromMessage(message).setSequenceSize(sequenceSize).build(); assertThat(message, hasSequenceSize(sequenceSize)); assertThat(message, hasSequenceSize(is(sequenceSize))); }
@Test public void testCompleteList() { Message<String> message1 = MessageBuilder.withPayload("test1").setSequenceSize(2).build(); Message<String> message2 = MessageBuilder.withPayload("test2").setSequenceSize(2).build(); SimpleMessageGroup messages = new SimpleMessageGroup("FOO"); messages.add(message1); messages.add(message2); SequenceSizeReleaseStrategy releaseStrategy = new SequenceSizeReleaseStrategy(); assertTrue(releaseStrategy.canRelease(messages)); }
@Test public void testCompleteList() { Message<String> message1 = MessageBuilder.withPayload("test1") .setSequenceSize(2).build(); Message<String> message2 = MessageBuilder.withPayload("test2") .setSequenceSize(2).build(); SimpleMessageGroup messages = new SimpleMessageGroup("FOO"); messages.add(message1); messages.add(message2); SequenceSizeReleaseStrategy releaseStrategy = new SequenceSizeReleaseStrategy(); assertTrue(releaseStrategy.canRelease(messages)); }
private static Message<?> createMessage(Object payload, Object correlationId, int sequenceSize, int sequenceNumber, MessageChannel replyChannel, String predefinedId) { MessageBuilder<Object> builder = MessageBuilder.withPayload(payload).setCorrelationId(correlationId) .setSequenceSize(sequenceSize).setSequenceNumber(sequenceNumber).setReplyChannel(replyChannel); if (predefinedId != null) { builder.setHeader(MessageHeaders.ID, predefinedId); } return builder.build(); }
private static Message<?> createMessage(Object payload, Object correlationId, int sequenceSize, int sequenceNumber, MessageChannel replyChannel, String predefinedId) { MessageBuilder<Object> builder = MessageBuilder.withPayload(payload) .setCorrelationId(correlationId).setSequenceSize(sequenceSize) .setSequenceNumber(sequenceNumber) .setReplyChannel(replyChannel); if (predefinedId != null) { builder.setHeader(MessageHeaders.ID, predefinedId); } return builder.build(); }
@Test public void testIncompleteListWithCount() { Message<String> message = MessageBuilder.withPayload("test1") .setSequenceSize(2).build(); SimpleMessageGroup messages = new SimpleMessageGroup("FOO"); messages.add(message); TimeoutCountSequenceSizeReleaseStrategy releaseStrategy = new TimeoutCountSequenceSizeReleaseStrategy(1, TimeoutCountSequenceSizeReleaseStrategy.DEFAULT_TIMEOUT); assertTrue(releaseStrategy.canRelease(messages)); }
@Test public void testIncompleteList() { Message<String> message = MessageBuilder.withPayload("test1").setSequenceSize(2).build(); SimpleMessageGroup messages = new SimpleMessageGroup("FOO"); messages.add(message); SequenceSizeReleaseStrategy releaseStrategy = new SequenceSizeReleaseStrategy(); assertFalse(releaseStrategy.canRelease(messages)); }
@Test public void testIncompleteListWithTimeout() { Message<String> message = MessageBuilder.withPayload("test1") .setSequenceSize(2).build(); SimpleMessageGroup messages = new SimpleMessageGroup("FOO"); messages.add(message); TimeoutCountSequenceSizeReleaseStrategy releaseStrategy = new TimeoutCountSequenceSizeReleaseStrategy(TimeoutCountSequenceSizeReleaseStrategy.DEFAULT_THRESHOLD, -100); assertTrue(releaseStrategy.canRelease(messages)); }
@Test public void testEmptyGroup() { SequenceSizeReleaseStrategy releaseStrategy = new SequenceSizeReleaseStrategy(); releaseStrategy.setReleasePartialSequences(true); SimpleMessageGroup messages = new SimpleMessageGroup("FOO"); Message<String> message = MessageBuilder.withPayload("test1").setSequenceSize(1).build(); messages.add(message); messages.remove(message); assertTrue(releaseStrategy.canRelease(messages)); }