@Test public void pollerWithTriggerReference() { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext( "pollerWithTriggerReference.xml", PollerParserTests.class); Object poller = context.getBean("poller"); assertNotNull(poller); PollerMetadata metadata = (PollerMetadata) poller; assertTrue(metadata.getTrigger() instanceof TestTrigger); context.close(); }
@Test public void pollerWithReceiveTimeoutAndTimeunit() { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext( "pollerWithReceiveTimeout.xml", PollerParserTests.class); Object poller = context.getBean("poller"); assertNotNull(poller); PollerMetadata metadata = (PollerMetadata) poller; assertEquals(1234, metadata.getReceiveTimeout()); PeriodicTrigger trigger = (PeriodicTrigger) metadata.getTrigger(); assertEquals(TimeUnit.SECONDS.toString(), TestUtils.getPropertyValue(trigger, "timeUnit").toString()); context.close(); }
@Test public void testFixedRateTrigger() { Object poller = context.getBean("pollerWithFixedRateAttribute"); assertEquals(PollerMetadata.class, poller.getClass()); PollerMetadata metadata = (PollerMetadata) poller; Trigger trigger = metadata.getTrigger(); assertEquals(PeriodicTrigger.class, trigger.getClass()); DirectFieldAccessor accessor = new DirectFieldAccessor(trigger); Boolean fixedRate = (Boolean) accessor.getPropertyValue("fixedRate"); Long period = (Long) accessor.getPropertyValue("period"); assertEquals(fixedRate, true); assertEquals(36L, period.longValue()); }
pollingEndpoint.setTrigger(pollerMetadata.getTrigger()); pollingEndpoint.setAdviceChain(pollerMetadata.getAdviceChain()); pollingEndpoint.setMaxMessagesPerPoll(pollerMetadata.getMaxMessagesPerPoll());
@Test public void testFixedDelayTrigger() { Object poller = context.getBean("pollerWithFixedDelayAttribute"); assertEquals(PollerMetadata.class, poller.getClass()); PollerMetadata metadata = (PollerMetadata) poller; Trigger trigger = metadata.getTrigger(); assertEquals(PeriodicTrigger.class, trigger.getClass()); DirectFieldAccessor accessor = new DirectFieldAccessor(trigger); Boolean fixedRate = (Boolean) accessor.getPropertyValue("fixedRate"); Long period = (Long) accessor.getPropertyValue("period"); assertEquals(fixedRate, false); assertEquals(37L, period.longValue()); } }
@Test public void checkConfigWithAttribute() { Object poller = context.getBean("pollerWithAttribute"); assertEquals(PollerMetadata.class, poller.getClass()); PollerMetadata metadata = (PollerMetadata) poller; Trigger trigger = metadata.getTrigger(); assertEquals(CronTrigger.class, trigger.getClass()); DirectFieldAccessor accessor = new DirectFieldAccessor(trigger); String expression = (String) new DirectFieldAccessor( accessor.getPropertyValue("sequenceGenerator")) .getPropertyValue("expression"); assertEquals("*/10 * 9-17 * * MON-FRI", expression); }
pollingConsumer.setTrigger(this.pollerMetadata.getTrigger()); pollingConsumer.setAdviceChain(this.pollerMetadata.getAdviceChain()); pollingConsumer.setMaxMessagesPerPoll(this.pollerMetadata.getMaxMessagesPerPoll());
spca.setTrigger(this.pollerMetadata.getTrigger()); spca.setErrorHandler(this.pollerMetadata.getErrorHandler()); spca.setBeanClassLoader(this.beanClassLoader);
pollingEndpoint.setTrigger(pollerMetadata.getTrigger()); pollingEndpoint.setAdviceChain(pollerMetadata.getAdviceChain()); pollingEndpoint.setMaxMessagesPerPoll(pollerMetadata.getMaxMessagesPerPoll());
private void initializeAdapter() { synchronized (this.initializationMonitor) { if (this.initialized) { return; } Assert.notNull(this.source, "source is required"); Assert.notNull(this.outputChannel, "outputChannel is required"); SourcePollingChannelAdapter spca = new SourcePollingChannelAdapter(); spca.setSource(this.source); spca.setOutputChannel(this.outputChannel); if (this.pollerMetadata == null) { this.pollerMetadata = IntegrationContextUtils.getDefaultPollerMetadata(this.beanFactory); Assert.notNull(this.pollerMetadata, "No poller has been defined for channel-adapter '" + this.beanName + "', and no default poller is available within the context."); } spca.setTrigger(this.pollerMetadata.getTrigger()); spca.setMaxMessagesPerPoll(this.pollerMetadata.getMaxMessagesPerPoll()); spca.setTaskExecutor(this.pollerMetadata.getTaskExecutor()); spca.setTransactionManager(this.pollerMetadata.getTransactionManager()); spca.setTransactionDefinition(this.pollerMetadata.getTransactionDefinition()); spca.setAdviceChain(this.pollerMetadata.getAdviceChain()); spca.setAutoStartup(this.autoStartup); spca.setBeanName(this.beanName); spca.setBeanFactory(this.beanFactory); spca.setBeanClassLoader(this.beanClassLoader); spca.afterPropertiesSet(); this.adapter = spca; this.initialized = true; } }
+ this.beanName + "', and no default poller is available within the context."); pollingConsumer.setTrigger(this.pollerMetadata.getTrigger()); pollingConsumer.setMaxMessagesPerPoll(this.pollerMetadata.getMaxMessagesPerPoll()); pollingConsumer.setReceiveTimeout(this.pollerMetadata.getReceiveTimeout());
pollingConsumer.setTrigger(this.pollerMetadata.getTrigger()); pollingConsumer.setAdviceChain(this.pollerMetadata.getAdviceChain()); pollingConsumer.setMaxMessagesPerPoll(this.pollerMetadata.getMaxMessagesPerPoll());
spca.setTrigger(this.pollerMetadata.getTrigger()); spca.setErrorHandler(this.pollerMetadata.getErrorHandler()); spca.setBeanClassLoader(this.beanClassLoader);