2017-07-09 22 views
0

こんにちは、JMS統合とSpring統合を使用しています。私は、jms-message-drive-outbound-adapterでエラーチャネルを使用しようとすると、Spring統合:XMLでエラーチャネルが利用できない

私の以前の質問に対する提案として、私はメッセージを失わないように例外とロールバックトランザクションを取得したいと思います。エラーチャンネルが不可能な場合、どうすれば達成できますか?

cvc-complex-type.3.2.2: Attribute 'error-channel' is not allowed to appear in element 'jms:message-driven-channel-adapter'. 

私のXMLは以下の通りです:

<?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:jms="http://www.springframework.org/schema/integration/jms" 
    xmlns:integration="http://www.springframework.org/schema/integration" 
    xmlns:int-kafka="http://www.springframework.org/schema/integration/kafka" 
    xmlns:task="http://www.springframework.org/schema/task" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans.xsd 
    http://www.springframework.org/schema/integration/jms 
    http://www.springframework.org/schema/integration/jms/spring-integration-jms.xsd 
    http://www.springframework.org/schema/integration/kafka 
    http://www.springframework.org/schema/integration/kafka/spring-integration-kafka.xsd"> 

    <jms:message-driven-channel-adapter id="requestChannelAdapter" channel="requestChannel" 
    container="requestListenerContainer" error-channel=""/> 


    <int-kafka:outbound-channel-adapter 
     id="kafkaOutboundChannelAdapter" kafka-template="kafkaTemplate" 
     auto-startup="true" sync="true" channel="inputToKafka" topic="test"> 
    </int-kafka:outbound-channel-adapter> 
</beans> 

は、それが最近のリリースで何か他のものに置き換えられます。

マイPOMファイルは、ケースには、それがバージョンの不一致が原因で参考のために以下に記載されています

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>com.test.dzone.activemq</groupId> 
    <artifactId>jpmc</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>jar</packaging> 

    <name>jpmc</name> 
    <description>Demo project for Spring Boot</description> 

    <parent> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-parent</artifactId> 
     <version>1.3.5.RELEASE</version> 
     <relativePath /> <!-- lookup parent from repository --> 
    </parent> 

    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 
     <java.version>1.8</java.version> 
    </properties> 

    <dependencies> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-integration</artifactId> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-test</artifactId> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.integration</groupId> 
      <artifactId>spring-integration-jms</artifactId> 
      <version>2.0.0.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.integration</groupId> 
      <artifactId>spring-integration-kafka</artifactId> 
      <version>2.1.1.RELEASE</version> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework.integration</groupId> 
      <artifactId>spring-integration-java-dsl</artifactId> 
      <version>1.1.2.RELEASE</version> 
     </dependency> 
     <!-- dependency> 
      <groupId>org.springframework.integration</groupId> 
      <artifactId>spring-integration-zookeeper</artifactId> 
      <version>4.3.9.RELEASE</version> 
     </dependency--> 

     <dependency> 
      <groupId>org.apache.activemq</groupId> 
      <artifactId>activemq-broker</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.activemq</groupId> 
      <artifactId>activemq-client</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.kafka</groupId> 
      <artifactId>kafka_2.10</artifactId> 
      <version>0.8.1.1</version> 
     </dependency> 
    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-maven-plugin</artifactId> 
      </plugin> 
     </plugins> 
    </build> 


</project> 

答えて

0

あなたはそれを無視することができます。あなたのIDEは、イン​​ターネットからスキーマを使用している表示されます - それの一番上にノートを参照してください...あなたはそれを無視、または春-AwareのIDEを使用することができますいずれか

http://www.springframework.org/schema/integration/jms/spring-integration-jms.xsd

<!-- 
     +++++ IMPORTANT +++++ 

    This schema is for the 1.0 version of Spring Integration JMS. We cannot update it to the current schema 
    because that will break any applications using 1.0.3 or lower. For subsequent versions, the unversioned 
    schema is resolved from the classpath and obtained from the jar. 
    Please refer to github: 

https://github.com/spring-projects/spring-integration/tree/master/spring-integration-jms/src/main/resources/org/springframework/integration/jms/config 

    for the latest schema. 
--> 

(春ツールスイート - STS、IntelliJ IDEAなど)は、/META-INF/spring.schemasを介してクラスパス上の現在のスキーマを見つける方法を知っています。

既にSTS(またはSpring IDEプラグインでEclipse)を使用している場合は、プロジェクトで「Spring Nature」を有効にしてください。

+0

ありがとうございました。それはSTSで働いた。 –

関連する問題