@Override public boolean isAutoStartup() { return (this.adapter == null) || this.adapter.isAutoStartup(); }
@Test @SuppressWarnings("unchecked") public void headerExpressions() { SourcePollingChannelAdapter adapter = this.context.getBean("headerExpressionsProducer", SourcePollingChannelAdapter.class); assertFalse(adapter.isAutoStartup()); Map<String, Expression> headerExpressions = TestUtils.getPropertyValue(adapter, "source.headerExpressions", Map.class); assertEquals(2, headerExpressions.size()); assertEquals("6 * 7", headerExpressions.get("foo").getExpressionString()); assertEquals("x", headerExpressions.get("bar").getExpressionString()); assertEquals(42, headerExpressions.get("foo").getValue()); assertEquals("x", headerExpressions.get("bar").getValue()); }
@Override public boolean isAutoStartup() { return (this.adapter == null) || this.adapter.isAutoStartup(); }
@Test public void triggerRef() { SourcePollingChannelAdapter adapter = this.context.getBean("triggerRefProducer", SourcePollingChannelAdapter.class); assertTrue(adapter.isAutoStartup()); DirectFieldAccessor adapterAccessor = new DirectFieldAccessor(adapter); Trigger trigger = TestUtils.getPropertyValue(adapter, "trigger", Trigger.class); assertEquals(this.context.getBean("customTrigger"), trigger); assertEquals(this.context.getBean("triggerRefChannel"), adapterAccessor.getPropertyValue("outputChannel")); Expression expression = TestUtils.getPropertyValue(adapter, "source.expression", Expression.class); assertEquals("'triggerRefTest'", expression.getExpressionString()); }
@Test public void cron() { SourcePollingChannelAdapter adapter = this.context.getBean("cronProducer", SourcePollingChannelAdapter.class); assertFalse(adapter.isAutoStartup()); DirectFieldAccessor adapterAccessor = new DirectFieldAccessor(adapter); Trigger trigger = TestUtils.getPropertyValue(adapter, "trigger", Trigger.class); assertEquals(CronTrigger.class, trigger.getClass()); assertEquals("7 6 5 4 3 ?", new DirectFieldAccessor(new DirectFieldAccessor( trigger).getPropertyValue("sequenceGenerator")).getPropertyValue("expression")); assertEquals(this.context.getBean("cronChannel"), adapterAccessor.getPropertyValue("outputChannel")); Expression expression = TestUtils.getPropertyValue(adapter, "source.expression", Expression.class); assertEquals("'cronTest'", expression.getExpressionString()); }
@Test public void fixedRate() { SourcePollingChannelAdapter adapter = this.context.getBean("fixedRateProducer", SourcePollingChannelAdapter.class); assertFalse(adapter.isAutoStartup()); DirectFieldAccessor adapterAccessor = new DirectFieldAccessor(adapter); Trigger trigger = TestUtils.getPropertyValue(adapter, "trigger", Trigger.class); assertEquals(PeriodicTrigger.class, trigger.getClass()); DirectFieldAccessor triggerAccessor = new DirectFieldAccessor(trigger); assertEquals(5678L, triggerAccessor.getPropertyValue("period")); assertEquals(Boolean.TRUE, triggerAccessor.getPropertyValue("fixedRate")); assertEquals(this.context.getBean("fixedRateChannel"), adapterAccessor.getPropertyValue("outputChannel")); Expression expression = TestUtils.getPropertyValue(adapter, "source.expression", Expression.class); assertEquals("'fixedRateTest'", expression.getExpressionString()); }
@Test public void fixedDelay() { SourcePollingChannelAdapter adapter = this.context.getBean("fixedDelayProducer", SourcePollingChannelAdapter.class); assertFalse(adapter.isAutoStartup()); DirectFieldAccessor adapterAccessor = new DirectFieldAccessor(adapter); Trigger trigger = TestUtils.getPropertyValue(adapter, "trigger", Trigger.class); assertEquals(PeriodicTrigger.class, trigger.getClass()); DirectFieldAccessor triggerAccessor = new DirectFieldAccessor(trigger); assertEquals(1234L, triggerAccessor.getPropertyValue("period")); assertEquals(Boolean.FALSE, triggerAccessor.getPropertyValue("fixedRate")); assertEquals(this.context.getBean("fixedDelayChannel"), adapterAccessor.getPropertyValue("outputChannel")); Expression expression = TestUtils.getPropertyValue(adapter, "source.expression", Expression.class); assertEquals("'fixedDelayTest'", expression.getExpressionString()); }