@SuppressWarnings("rawtypes") @Test(expected = MessageTimeoutException.class) public void messageReceiveTimeout() throws Exception { //execute with no default set messageChannelPartitionHandler = new MessageChannelPartitionHandler(); //mock StepExecution masterStepExecution = mock(StepExecution.class); StepExecutionSplitter stepExecutionSplitter = mock(StepExecutionSplitter.class); MessagingTemplate operations = mock(MessagingTemplate.class); Message message = mock(Message.class); //when HashSet<StepExecution> stepExecutions = new HashSet<>(); stepExecutions.add(new StepExecution("step1", new JobExecution(5L))); when(stepExecutionSplitter.split(any(StepExecution.class), eq(1))).thenReturn(stepExecutions); when(message.getPayload()).thenReturn(Collections.emptyList()); //set messageChannelPartitionHandler.setMessagingOperations(operations); //execute messageChannelPartitionHandler.handle(stepExecutionSplitter, masterStepExecution); }
@SuppressWarnings({"unchecked", "rawtypes"}) @Test public void testHandleNoReply() throws Exception { //execute with no default set messageChannelPartitionHandler = new MessageChannelPartitionHandler(); //mock StepExecution masterStepExecution = mock(StepExecution.class); StepExecutionSplitter stepExecutionSplitter = mock(StepExecutionSplitter.class); MessagingTemplate operations = mock(MessagingTemplate.class); Message message = mock(Message.class); //when HashSet<StepExecution> stepExecutions = new HashSet<>(); stepExecutions.add(new StepExecution("step1", new JobExecution(5L))); when(stepExecutionSplitter.split(any(StepExecution.class), eq(1))).thenReturn(stepExecutions); when(message.getPayload()).thenReturn(Collections.emptyList()); when(operations.receive((PollableChannel) any())).thenReturn(message); //set messageChannelPartitionHandler.setMessagingOperations(operations); //execute Collection<StepExecution> executions = messageChannelPartitionHandler.handle(stepExecutionSplitter, masterStepExecution); //verify assertNotNull(executions); assertTrue(executions.isEmpty()); }
@SuppressWarnings({"unchecked", "rawtypes"}) @Test public void testHandleWithReplyChannel() throws Exception { //execute with no default set messageChannelPartitionHandler = new MessageChannelPartitionHandler(); //mock StepExecution masterStepExecution = mock(StepExecution.class); StepExecutionSplitter stepExecutionSplitter = mock(StepExecutionSplitter.class); MessagingTemplate operations = mock(MessagingTemplate.class); Message message = mock(Message.class); PollableChannel replyChannel = mock(PollableChannel.class); //when HashSet<StepExecution> stepExecutions = new HashSet<>(); stepExecutions.add(new StepExecution("step1", new JobExecution(5L))); when(stepExecutionSplitter.split(any(StepExecution.class), eq(1))).thenReturn(stepExecutions); when(message.getPayload()).thenReturn(Collections.emptyList()); when(operations.receive(replyChannel)).thenReturn(message); //set messageChannelPartitionHandler.setMessagingOperations(operations); messageChannelPartitionHandler.setReplyChannel(replyChannel); //execute Collection<StepExecution> executions = messageChannelPartitionHandler.handle(stepExecutionSplitter, masterStepExecution); //verify assertNotNull(executions); assertTrue(executions.isEmpty()); }
messageChannelPartitionHandler.setMessagingOperations(operations); messageChannelPartitionHandler.setJobExplorer(jobExplorer); messageChannelPartitionHandler.setStepName("step1");
messageChannelPartitionHandler.setMessagingOperations(operations); messageChannelPartitionHandler.setJobExplorer(jobExplorer); messageChannelPartitionHandler.setStepName("step1");
partitionHandler.setStepName(getStepName()); partitionHandler.setGridSize(getGridSize()); partitionHandler.setMessagingOperations(this.messagingTemplate);
@Bean public PartitionHandler partitionHandler(MessagingTemplate messagingTemplate) throws Exception { MessageChannelPartitionHandler partitionHandler = new MessageChannelPartitionHandler(); partitionHandler.setStepName("slaveStep"); partitionHandler.setGridSize(GRID_SIZE); partitionHandler.setMessagingOperations(messagingTemplate); partitionHandler.setPollInterval(5000l); partitionHandler.setJobExplorer(this.jobExplorer); partitionHandler.afterPropertiesSet(); return partitionHandler; }