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 testEqual() { Comparator<Message<?>> comparator = new MessageSequenceComparator(); Message<String> message1 = MessageBuilder.withPayload("test1") .setSequenceNumber(3).build(); Message<String> message2 = MessageBuilder.withPayload("test2") .setSequenceNumber(3).build(); assertEquals(0, comparator.compare(message1, message2)); }
@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(); }
@Test public void testLessThan() { Comparator<Message<?>> comparator = new MessageSequenceComparator(); Message<String> message1 = MessageBuilder.withPayload("test1") .setSequenceNumber(1).build(); Message<String> message2 = MessageBuilder.withPayload("test2") .setSequenceNumber(2).build(); assertEquals(-1, comparator.compare(message1, message2)); }
@Test public void testGreaterThan() { Comparator<Message<?>> comparator = new MessageSequenceComparator(); Message<String> message1 = MessageBuilder.withPayload("test1") .setSequenceNumber(5).build(); Message<String> message2 = MessageBuilder.withPayload("test2") .setSequenceNumber(3).build(); assertEquals(1, comparator.compare(message1, message2)); }
private Message<?> correlatedMessage(Object correlationId, Integer sequenceSize, Integer sequenceNumber) { return MessageBuilder.withPayload("test") .setCorrelationId(correlationId) .setSequenceNumber(sequenceNumber) .setSequenceSize(sequenceSize) .build(); }
private Message<?> message(int sequenceNumber, int sequenceSize) { return MessageBuilder.withPayload("foo") .setSequenceNumber(sequenceNumber) .setSequenceSize(sequenceSize) .setCorrelationId("foo").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 testResequencerRefServiceActivator() { MessageChannel inputChannel = context.getBean("inputChannel", MessageChannel.class); QueueChannel outputChannel = context.getBean("outputChannel", QueueChannel.class); Message<?> message1 = MessageBuilder.withPayload("1").setCorrelationId("A").setSequenceNumber(1).build(); inputChannel.send(message1); message1 = outputChannel.receive(0); assertNotNull(message1); assertEquals(1, new IntegrationMessageHeaderAccessor(message1).getSequenceNumber()); }
@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 MessageGroup groupWithLastAndFirstMessagesOfIncompleteSequence() { SimpleMessageGroup messages = new SimpleMessageGroup("FOO"); Message<String> message1 = MessageBuilder.withPayload("test1").setSequenceSize(3).setSequenceNumber(3).build(); Message<String> message2 = MessageBuilder.withPayload("test2").setSequenceSize(3).setSequenceNumber(1).build(); messages.add(message1); messages.add(message2); return messages; }
@Test public void shouldFindSupersedingMessagesIfSequenceAware() throws Exception { prepareForSequenceAwareMessageGroup(); final Message<?> message1 = MessageBuilder.withPayload("test").setSequenceNumber(1).build(); final Message<?> message2 = MessageBuilder.fromMessage(message1).setSequenceNumber(1).build(); assertThat(this.sequenceAwareGroup.canAdd(message1), is(true)); this.group.add(message1); this.group.add(message2); prepareForSequenceAwareMessageGroup(); assertThat(this.sequenceAwareGroup.canAdd(message1), is(false)); }
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(); }
@SuppressWarnings("unused") 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(); }
@Test public void hasSequenceNumber_() throws Exception { int sequenceNumber = 123; message = MessageBuilder.fromMessage(message).setSequenceNumber(sequenceNumber).build(); assertThat(message, hasSequenceNumber(sequenceNumber)); }
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(); }