2016-07-19 46 views
0

Ich versuche, meine Spring Integration App mit Spring Boot in Tomcat (so dass ich es als Krieg verpacken) zu laufen.Spring Integration mit Spring Boot läuft als Krieg

Ich bin in der Lage, den Krieg erfolgreich zu implementieren, aber es ist nicht auf Nachrichten in einer bestimmten Warteschlange abhören. Alles funktioniert gut, wenn ich es als eine Anwendung innerhalb der IDE starte. Kann mir jemand zeigen, was ich im folgenden Code vermisse oder ob das auf eine andere Weise eingesetzt werden sollte?

@Configuration 
@SpringBootApplication 
@IntegrationComponentScan 
@EnableAutoConfiguration 
@EnableIntegration 
public class SpringIntegrationApplication { 

public static void main(String[] args) { 
    SpringApplication.run(SpringIntegrationApplication .class, args); 
} 

@Autowired 
private ActiveMQConnectionFactory activeMQConnectionFactory; 

@Bean 
public IntegrationFlow jmsInboundFlow() { 
    return IntegrationFlows.from(
           Jms.inboundAdapter(this.activeMQConnectionFactory) 
                .configureJmsTemplate(t -> t.deliveryPersistent(true)/*.jmsMessageConverter(myMessageConverter())*/) 
                .destination("testQueue"), // name of the queue 
           e -> e.poller(Pollers.fixedDelay(10000).maxMessagesPerPoll(20)) 
          ) 
          .enrich(e -> e 
            .requestPayload(Message::getPayload) 
            .shouldClonePayload(false)                    
            .<Map<String, String>>headerFunction("originalMessage", m -> m.getPayload(), true) 
          ) 
          .channel("entrypoint") 
          .get(); 
} 

@Router(inputChannel="entrypoint") 
public String route(@SuppressWarnings("rawtypes") Message message) { 

    if (isErrorMessage) { 
     return "done.input"; 
    } 

}

Und gradle (build.gradle) verpackt sie:

apply plugin: 'java' 
apply plugin: 'eclipse' 
apply plugin: 'war' 
apply plugin: 'maven-publish' 

version = '1.0-SNAPSHOT' 
sourceCompatibility = 1.8 
targetCompatibility = 1.8 
repositories { 
mavenCentral() 
} 


dependencies { 

compile(
    [group: 'org.springframework.integration', name: 'spring-integration-feed', version: springframeworkVersion], 
    'org.springframework.boot:spring-boot-starter-web:1.3.3.RELEASE', 
    'org.springframework.integration:spring-integration-core:4.2.5.RELEASE', 
    'org.springframework.integration:spring-integration-flow:1.0.0.RELEASE', 
    'org.springframework.integration:spring-integration-java-dsl:1.1.2.RELEASE', 
    'org.springframework.integration:spring-integration-http:4.2.5.RELEASE', 
    'org.springframework.integration:spring-integration-jms:4.2.5.RELEASE', 
    'org.springframework.integration:spring-integration-jdbc:4.2.5.RELEASE', 
    [group: 'log4j', name: 'log4j', version: '1.2.17'], 
    [group: 'org.slf4j', name: 'slf4j-log4j12', version: '1.7.5'], 
    [group: 'javax.servlet', name: 'jstl', version: '1.2'],   
    [group: 'org.apache.activemq', name: 'activemq-amqp', version: '5.13.3'], 
    'javax:javaee-api:7.0' 
) 

//If more required then 
//http://mvnrepository.com/artifact/org.springframework.integration 

testCompile (
    [group: 'junit', name: 'junit', version: '4.11'], 
    [group: 'org.springframework.boot', name: 'spring-boot-starter-test', version: '1.3.5.RELEASE'] 
) 

} 

Jede Eingabe sehr geschätzt.

Antwort