Make sure integration still works in CLI
This commit is contained in:
parent
aa2b020660
commit
4cfc7b6ad9
|
|
@ -122,6 +122,11 @@
|
||||||
<artifactId>junit</artifactId>
|
<artifactId>junit</artifactId>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.integration</groupId>
|
||||||
|
<artifactId>spring-integration-core</artifactId>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
<!-- Test -->
|
<!-- Test -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>${project.groupId}</groupId>
|
<groupId>${project.groupId}</groupId>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
package org.test
|
||||||
|
|
||||||
|
@Component
|
||||||
|
@EnableIntegrationPatterns
|
||||||
|
class SpringIntegrationExample implements CommandLineRunner {
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
DirectChannel input() {
|
||||||
|
new DirectChannel();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
void run(String... args) {
|
||||||
|
print new MessagingTemplate(input()).convertSendAndReceive("World")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@MessageEndpoint
|
||||||
|
class HelloTransformer {
|
||||||
|
|
||||||
|
@Transformer(inputChannel="input")
|
||||||
|
String transform(String payload) {
|
||||||
|
"Hello, ${payload}"
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -41,7 +41,7 @@ public class SpringIntegrationCompilerAutoConfiguration extends CompilerAutoConf
|
||||||
@Override
|
@Override
|
||||||
public void applyDependencies(DependencyCustomizer dependencies) {
|
public void applyDependencies(DependencyCustomizer dependencies) {
|
||||||
dependencies.ifAnyMissingClasses("org.springframework.integration.Message").add(
|
dependencies.ifAnyMissingClasses("org.springframework.integration.Message").add(
|
||||||
"spring-boot-starter-integration", "spring-integration-dsl-groovy-core");
|
"spring-boot-starter-integration");
|
||||||
dependencies.ifAnyMissingClasses("groovy.util.XmlParser").add("groovy-xml");
|
dependencies.ifAnyMissingClasses("groovy.util.XmlParser").add("groovy-xml");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -50,14 +50,14 @@ public class SpringIntegrationCompilerAutoConfiguration extends CompilerAutoConf
|
||||||
imports.addImports("org.springframework.integration.Message",
|
imports.addImports("org.springframework.integration.Message",
|
||||||
"org.springframework.integration.support.MessageBuilder",
|
"org.springframework.integration.support.MessageBuilder",
|
||||||
"org.springframework.integration.MessageChannel",
|
"org.springframework.integration.MessageChannel",
|
||||||
|
"org.springframework.integration.channel.DirectChannel",
|
||||||
|
"org.springframework.integration.channel.QueueChannel",
|
||||||
|
"org.springframework.integration.channel.ExecutorChannel",
|
||||||
"org.springframework.integration.MessageHeaders",
|
"org.springframework.integration.MessageHeaders",
|
||||||
"org.springframework.integration.annotation.MessageEndpoint",
|
"org.springframework.integration.core.MessagingTemplate",
|
||||||
"org.springframework.integration.annotation.Header",
|
"org.springframework.integration.core.SubscribableChannel",
|
||||||
"org.springframework.integration.annotation.Headers",
|
"org.springframework.integration.core.PollableChannel",
|
||||||
"org.springframework.integration.annotation.Payload",
|
|
||||||
"org.springframework.integration.annotation.Payloads",
|
|
||||||
"org.springframework.integration.dsl.groovy.MessageFlow",
|
|
||||||
"org.springframework.integration.dsl.groovy.builder.IntegrationBuilder",
|
|
||||||
EnableIntegrationPatterns.class.getCanonicalName());
|
EnableIntegrationPatterns.class.getCanonicalName());
|
||||||
|
imports.addStarImports("org.springframework.integration.annotation");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -22,9 +22,14 @@ import java.lang.annotation.Retention;
|
||||||
import java.lang.annotation.RetentionPolicy;
|
import java.lang.annotation.RetentionPolicy;
|
||||||
import java.lang.annotation.Target;
|
import java.lang.annotation.Target;
|
||||||
|
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.context.annotation.ImportResource;
|
||||||
|
|
||||||
@Target(ElementType.TYPE)
|
@Target(ElementType.TYPE)
|
||||||
@Documented
|
@Documented
|
||||||
@Retention(RetentionPolicy.RUNTIME)
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
@Configuration
|
||||||
|
@ImportResource("classpath:/org/springframework/boot/groovy/integration.xml")
|
||||||
public @interface EnableIntegrationPatterns {
|
public @interface EnableIntegrationPatterns {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:int="http://www.springframework.org/schema/integration"
|
||||||
|
xsi:schemaLocation="http://www.springframework.org/schema/integration http://www.springframework.org/schema/integration/spring-integration.xsd
|
||||||
|
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
|
||||||
|
|
||||||
|
<int:annotation-config />
|
||||||
|
|
||||||
|
</beans>
|
||||||
|
|
@ -121,6 +121,12 @@ public class SampleIntegrationTests {
|
||||||
assertTrue("Wrong output: " + output, output.contains("Hello World"));
|
assertTrue("Wrong output: " + output, output.contains("Hello World"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void integrationSample() throws Exception {
|
||||||
|
String output = this.cli.run("integration.groovy");
|
||||||
|
assertTrue("Wrong output: " + output, output.contains("Hello, World"));
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void xmlSample() throws Exception {
|
public void xmlSample() throws Exception {
|
||||||
String output = this.cli.run("runner.xml", "runner.groovy");
|
String output = this.cli.run("runner.xml", "runner.groovy");
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue