Add support for 'trigger' attribute.

This commit is contained in:
Marius Bogoevici
2010-06-24 13:35:35 +00:00
parent 74619a4c8b
commit 1354b808cc
5 changed files with 71 additions and 5 deletions

View File

@@ -0,0 +1,17 @@
package org.springframework.integration.config;
import org.springframework.scheduling.Trigger;
import org.springframework.scheduling.TriggerContext;
import java.util.Date;
/**
* @author Marius Bogoevici
*/
public class TestTrigger implements Trigger {
public Date nextExecutionTime(TriggerContext triggerContext) {
throw new UnsupportedOperationException();
}
}

View File

@@ -18,12 +18,14 @@ package org.springframework.integration.config.xml;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
import org.springframework.beans.factory.parsing.BeanDefinitionParsingException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.integration.config.TestTrigger;
import org.springframework.integration.context.IntegrationContextUtils;
import org.springframework.integration.scheduling.PollerMetadata;
@@ -88,4 +90,14 @@ public class PollerParserTests {
assertEquals(1234, metadata.getReceiveTimeout());
}
@Test
public void pollerWithTriggerReference() {
ApplicationContext context = new ClassPathXmlApplicationContext(
"pollerWithTriggerReference.xml", PollerParserTests.class);
Object poller = context.getBean("poller");
assertNotNull(poller);
PollerMetadata metadata = (PollerMetadata) poller;
assertTrue(metadata.getTrigger() instanceof TestTrigger);
}
}

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/integration"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:beans="http://www.springframework.org/schema/beans"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/integration
http://www.springframework.org/schema/integration/spring-integration.xsd">
<poller id="poller" receive-timeout="1234" default="true" trigger="trigger"/>
<beans:bean id="trigger" class="org.springframework.integration.config.TestTrigger"/>
</beans:beans>