List of usage examples for org.springframework.scheduling.concurrent ThreadPoolTaskExecutor afterPropertiesSet
@Override public void afterPropertiesSet()
From source file:org.springframework.amqp.rabbit.listener.DirectMessageListenerContainerIntegrationTests.java
@Test public void testSimple() throws Exception { CachingConnectionFactory cf = new CachingConnectionFactory("localhost"); ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); executor.setThreadNamePrefix("client-"); executor.afterPropertiesSet(); cf.setExecutor(executor);/*from w w w . ja v a2s .co m*/ DirectMessageListenerContainer container = new DirectMessageListenerContainer(cf); container.setQueueNames(Q1, Q2); container.setConsumersPerQueue(2); container.setMessageListener(new MessageListenerAdapter((ReplyingMessageListener<String, String>) in -> { if ("foo".equals(in) || "bar".equals(in)) { return in.toUpperCase(); } else { return null; } })); container.setBeanName("simple"); container.setConsumerTagStrategy(new Tag()); container.afterPropertiesSet(); container.start(); RabbitTemplate template = new RabbitTemplate(cf); assertEquals("FOO", template.convertSendAndReceive(Q1, "foo")); assertEquals("BAR", template.convertSendAndReceive(Q2, "bar")); container.stop(); assertTrue(consumersOnQueue(Q1, 0)); assertTrue(consumersOnQueue(Q2, 0)); assertTrue(activeConsumerCount(container, 0)); assertEquals(0, TestUtils.getPropertyValue(container, "consumersByQueue", MultiValueMap.class).size()); template.stop(); cf.destroy(); }
From source file:org.springframework.amqp.rabbit.listener.DirectMessageListenerContainerIntegrationTests.java
@Test public void testQueueManagement() throws Exception { CachingConnectionFactory cf = new CachingConnectionFactory("localhost"); ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); executor.setThreadNamePrefix("client-"); executor.afterPropertiesSet(); cf.setExecutor(executor);/*from w ww. j a v a2 s . c om*/ DirectMessageListenerContainer container = new DirectMessageListenerContainer(cf); container.setConsumersPerQueue(2); container.setMessageListener(new MessageListenerAdapter((ReplyingMessageListener<String, String>) in -> { if ("foo".equals(in) || "bar".equals(in)) { return in.toUpperCase(); } else { return null; } })); container.setBeanName("qManage"); container.setConsumerTagStrategy(new Tag()); container.afterPropertiesSet(); container.start(); container.addQueueNames(Q1, Q2); assertTrue(consumersOnQueue(Q1, 2)); assertTrue(consumersOnQueue(Q2, 2)); RabbitTemplate template = new RabbitTemplate(cf); assertEquals("FOO", template.convertSendAndReceive(Q1, "foo")); assertEquals("BAR", template.convertSendAndReceive(Q2, "bar")); container.removeQueueNames(Q1, Q2, "junk"); assertTrue(consumersOnQueue(Q1, 0)); assertTrue(consumersOnQueue(Q2, 0)); assertTrue(activeConsumerCount(container, 0)); container.stop(); assertTrue(consumersOnQueue(Q1, 0)); assertTrue(consumersOnQueue(Q2, 0)); assertTrue(activeConsumerCount(container, 0)); assertEquals(0, TestUtils.getPropertyValue(container, "consumersByQueue", MultiValueMap.class).size()); template.stop(); cf.destroy(); }
From source file:org.springframework.amqp.rabbit.listener.DirectMessageListenerContainerIntegrationTests.java
@Test public void testQueueManagementQueueInstances() throws Exception { CachingConnectionFactory cf = new CachingConnectionFactory("localhost"); ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); executor.setThreadNamePrefix("client-"); executor.afterPropertiesSet(); cf.setExecutor(executor);// w w w . jav a2 s . c om DirectMessageListenerContainer container = new DirectMessageListenerContainer(cf); container.setConsumersPerQueue(2); container.setMessageListener(new MessageListenerAdapter((ReplyingMessageListener<String, String>) in -> { if ("foo".equals(in) || "bar".equals(in)) { return in.toUpperCase(); } else { return null; } })); container.setBeanName("qManage"); container.setConsumerTagStrategy(new Tag()); container.afterPropertiesSet(); container.setQueues(new Queue(Q1)); assertArrayEquals(new String[] { Q1 }, container.getQueueNames()); container.start(); container.addQueues(new Queue(Q2)); assertTrue(consumersOnQueue(Q1, 2)); assertTrue(consumersOnQueue(Q2, 2)); RabbitTemplate template = new RabbitTemplate(cf); assertEquals("FOO", template.convertSendAndReceive(Q1, "foo")); assertEquals("BAR", template.convertSendAndReceive(Q2, "bar")); container.removeQueues(new Queue(Q1), new Queue(Q2), new Queue("junk")); assertTrue(consumersOnQueue(Q1, 0)); assertTrue(consumersOnQueue(Q2, 0)); assertTrue(activeConsumerCount(container, 0)); container.stop(); assertTrue(consumersOnQueue(Q1, 0)); assertTrue(consumersOnQueue(Q2, 0)); assertTrue(activeConsumerCount(container, 0)); assertEquals(0, TestUtils.getPropertyValue(container, "consumersByQueue", MultiValueMap.class).size()); template.stop(); cf.destroy(); }
From source file:org.springframework.amqp.rabbit.listener.DirectMessageListenerContainerIntegrationTests.java
@Test public void testAddRemoveConsumers() throws Exception { CachingConnectionFactory cf = new CachingConnectionFactory("localhost"); ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); executor.setThreadNamePrefix("client-"); executor.afterPropertiesSet(); cf.setExecutor(executor);// ww w . j a v a2 s .c o m DirectMessageListenerContainer container = new DirectMessageListenerContainer(cf); container.setQueueNames(Q1, Q2); container.setConsumersPerQueue(2); container.setMessageListener(new MessageListenerAdapter((ReplyingMessageListener<String, String>) in -> { if ("foo".equals(in) || "bar".equals(in)) { return in.toUpperCase(); } else { return null; } })); container.setBeanName("qAddRemove"); container.setConsumerTagStrategy(new Tag()); container.afterPropertiesSet(); container.start(); RabbitTemplate template = new RabbitTemplate(cf); assertEquals("FOO", template.convertSendAndReceive(Q1, "foo")); assertEquals("BAR", template.convertSendAndReceive(Q2, "bar")); assertTrue(consumersOnQueue(Q1, 2)); assertTrue(consumersOnQueue(Q2, 2)); container.setConsumersPerQueue(1); assertTrue(consumersOnQueue(Q1, 1)); assertTrue(consumersOnQueue(Q2, 1)); container.setConsumersPerQueue(2); assertTrue(consumersOnQueue(Q1, 2)); assertTrue(consumersOnQueue(Q2, 2)); container.stop(); assertTrue(consumersOnQueue(Q1, 0)); assertTrue(consumersOnQueue(Q2, 0)); assertTrue(activeConsumerCount(container, 0)); assertEquals(0, TestUtils.getPropertyValue(container, "consumersByQueue", MultiValueMap.class).size()); template.stop(); cf.destroy(); }
From source file:org.springframework.amqp.rabbit.listener.DirectMessageListenerContainerTests.java
@Test public void testSimple() throws Exception { CachingConnectionFactory cf = new CachingConnectionFactory("localhost"); ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); executor.setThreadNamePrefix("client-"); executor.afterPropertiesSet(); cf.setExecutor(executor);/*from w w w. j a v a 2 s . co m*/ DirectMessageListenerContainer container = new DirectMessageListenerContainer(cf); container.setQueueNames(Q1, Q2); container.setConsumersPerQueue(2); container.setMessageListener(new MessageListenerAdapter((ReplyingMessageListener<String, String>) in -> { if ("foo".equals(in) || "bar".equals(in)) { return in.toUpperCase(); } else { return null; } })); container.setBeanName("simple"); container.setConsumerTagStrategy(new Tag()); container.afterPropertiesSet(); container.start(); RabbitTemplate template = new RabbitTemplate(cf); assertEquals("FOO", template.convertSendAndReceive(Q1, "foo")); assertEquals("BAR", template.convertSendAndReceive(Q2, "bar")); container.stop(); assertTrue(consumersOnQueue(Q1, 0)); assertTrue(consumersOnQueue(Q2, 0)); assertTrue(activeConsumerCount(container, 0)); assertEquals(0, TestUtils.getPropertyValue(container, "consumersByQueue", MultiValueMap.class).size()); cf.destroy(); }
From source file:org.springframework.amqp.rabbit.listener.DirectMessageListenerContainerTests.java
@Test public void testQueueManagement() throws Exception { CachingConnectionFactory cf = new CachingConnectionFactory("localhost"); ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); executor.setThreadNamePrefix("client-"); executor.afterPropertiesSet(); cf.setExecutor(executor);//from ww w. j av a2 s . c o m DirectMessageListenerContainer container = new DirectMessageListenerContainer(cf); container.setConsumersPerQueue(2); container.setMessageListener(new MessageListenerAdapter((ReplyingMessageListener<String, String>) in -> { if ("foo".equals(in) || "bar".equals(in)) { return in.toUpperCase(); } else { return null; } })); container.setBeanName("qManage"); container.setConsumerTagStrategy(new Tag()); container.afterPropertiesSet(); container.start(); container.addQueueNames(Q1, Q2); assertTrue(consumersOnQueue(Q1, 2)); assertTrue(consumersOnQueue(Q2, 2)); RabbitTemplate template = new RabbitTemplate(cf); assertEquals("FOO", template.convertSendAndReceive(Q1, "foo")); assertEquals("BAR", template.convertSendAndReceive(Q2, "bar")); container.removeQueueNames(Q1, Q2, "junk"); assertTrue(consumersOnQueue(Q1, 0)); assertTrue(consumersOnQueue(Q2, 0)); assertTrue(activeConsumerCount(container, 0)); container.stop(); assertTrue(consumersOnQueue(Q1, 0)); assertTrue(consumersOnQueue(Q2, 0)); assertTrue(activeConsumerCount(container, 0)); assertEquals(0, TestUtils.getPropertyValue(container, "consumersByQueue", MultiValueMap.class).size()); cf.destroy(); }
From source file:org.springframework.amqp.rabbit.listener.DirectMessageListenerContainerTests.java
@Test public void testAddRemoveConsumers() throws Exception { CachingConnectionFactory cf = new CachingConnectionFactory("localhost"); ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); executor.setThreadNamePrefix("client-"); executor.afterPropertiesSet(); cf.setExecutor(executor);/*from ww w .jav a 2 s.c o m*/ DirectMessageListenerContainer container = new DirectMessageListenerContainer(cf); container.setQueueNames(Q1, Q2); container.setConsumersPerQueue(2); container.setMessageListener(new MessageListenerAdapter((ReplyingMessageListener<String, String>) in -> { if ("foo".equals(in) || "bar".equals(in)) { return in.toUpperCase(); } else { return null; } })); container.setBeanName("qAddRemove"); container.setConsumerTagStrategy(new Tag()); container.afterPropertiesSet(); container.start(); RabbitTemplate template = new RabbitTemplate(cf); assertEquals("FOO", template.convertSendAndReceive(Q1, "foo")); assertEquals("BAR", template.convertSendAndReceive(Q2, "bar")); assertTrue(consumersOnQueue(Q1, 2)); assertTrue(consumersOnQueue(Q2, 2)); container.setConsumersPerQueue(1); assertTrue(consumersOnQueue(Q1, 1)); assertTrue(consumersOnQueue(Q2, 1)); container.setConsumersPerQueue(2); assertTrue(consumersOnQueue(Q1, 2)); assertTrue(consumersOnQueue(Q2, 2)); container.stop(); assertTrue(consumersOnQueue(Q1, 0)); assertTrue(consumersOnQueue(Q2, 0)); assertTrue(activeConsumerCount(container, 0)); assertEquals(0, TestUtils.getPropertyValue(container, "consumersByQueue", MultiValueMap.class).size()); cf.destroy(); }
From source file:org.springframework.batch.core.test.step.FaultTolerantStepFactoryBeanIntegrationTests.java
@Before public void setUp() throws Exception { writer = new SkipWriterStub(dataSource); processor = new SkipProcessorStub(dataSource); factory = new FaultTolerantStepFactoryBean<String, String>(); factory.setBeanName("stepName"); factory.setTransactionManager(transactionManager); factory.setJobRepository(repository); factory.setCommitInterval(3);//from ww w . j a v a2 s. co m ThreadPoolTaskExecutor taskExecutor = new ThreadPoolTaskExecutor(); taskExecutor.setCorePoolSize(3); taskExecutor.setMaxPoolSize(6); taskExecutor.setQueueCapacity(0); taskExecutor.afterPropertiesSet(); factory.setTaskExecutor(taskExecutor); JdbcTestUtils.deleteFromTables(new JdbcTemplate(dataSource), "ERROR_LOG"); }
From source file:org.springframework.batch.core.test.step.FaultTolerantStepFactoryBeanRollbackIntegrationTests.java
@Test public void testMultithreadedSkipInWriter() throws Throwable { ThreadPoolTaskExecutor taskExecutor = new ThreadPoolTaskExecutor(); taskExecutor.setCorePoolSize(3);/*from w w w . j a va 2 s.c o m*/ taskExecutor.setMaxPoolSize(6); taskExecutor.setQueueCapacity(0); taskExecutor.afterPropertiesSet(); factory.setTaskExecutor(taskExecutor); @SuppressWarnings("unchecked") Map<Class<? extends Throwable>, Boolean> skippable = getExceptionMap(Exception.class); factory.setSkippableExceptionClasses(skippable); jobExecution = repository.createJobExecution("skipJob", new JobParameters()); for (int i = 0; i < MAX_COUNT; i++) { if (i % 100 == 0) { logger.info("Starting step: " + i); } JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource); assertEquals(0, JdbcTestUtils.countRowsInTable(jdbcTemplate, "ERROR_LOG")); try { SkipReaderStub reader = new SkipReaderStub(); reader.clear(); reader.setItems("1", "2", "3", "4", "5"); factory.setItemReader(reader); writer.clear(); factory.setItemWriter(writer); processor.clear(); factory.setItemProcessor(processor); writer.setFailures("1", "2", "3", "4", "5"); Step step = factory.getObject(); stepExecution = jobExecution.createStepExecution(factory.getName()); repository.add(stepExecution); step.execute(stepExecution); assertEquals(BatchStatus.COMPLETED, stepExecution.getStatus()); assertEquals("[]", writer.getCommitted().toString()); assertEquals("[]", processor.getCommitted().toString()); List<String> processed = new ArrayList<String>(processor.getProcessed()); Collections.sort(processed); assertEquals("[1, 1, 2, 2, 3, 3, 4, 4, 5, 5]", processed.toString()); assertEquals(5, stepExecution.getSkipCount()); } catch (Throwable e) { logger.info("Failed on iteration " + i + " of " + MAX_COUNT); throw e; } } }
From source file:org.springframework.batch.core.test.step.MapRepositoryFaultTolerantStepFactoryBeanRollbackTests.java
@SuppressWarnings("unchecked") @Before// w w w . ja v a 2 s . c o m public void setUp() throws Exception { reader = new SkipReaderStub(); writer = new SkipWriterStub(); processor = new SkipProcessorStub(); factory = new FaultTolerantStepFactoryBean<String, String>(); factory.setTransactionManager(transactionManager); factory.setBeanName("stepName"); factory.setCommitInterval(3); ThreadPoolTaskExecutor taskExecutor = new ThreadPoolTaskExecutor(); taskExecutor.setCorePoolSize(3); taskExecutor.setMaxPoolSize(6); taskExecutor.setQueueCapacity(0); taskExecutor.afterPropertiesSet(); factory.setTaskExecutor(taskExecutor); factory.setSkipLimit(10); factory.setSkippableExceptionClasses(getExceptionMap(Exception.class)); }