2014-06-13 2 views
0

스프링 통합 3.0.3에서 스프링 통합 4.0.2.release로 마이 그 레이션하고 있으며 springIntegration.xml에서 인바운드 게이트웨이를 정의했습니다 (이미 그 요청 채널은 버전 3 클래스를 가리키고 있음).잘못된 버전 클래스를 가리키는 인바운드 - 게이트웨이의 요청 채널

인바운드 게이트웨이는

<integration-jms:inbound-gateway id="jmsInBoundA" 
            container="jmsListenerA" 
            auto-startup="true" 
            reply-delivery-persistent="false" 
            reply-priority="7" 
            message-converter="logMsgConverter" 
            extract-request-payload="true" 
            explicit-qos-enabled-for-replies="true" 
            reply-time-to-live="30000" 
            reply-timeout="70000" 
            extract-reply-payload="true" 
            request-channel="inputChannel" 
            error-channel="errorChannel"/> 

입니다 그러나 는 "기본 클래스를 요구 해결할 수없는 오류를 보여주는 'or.springframework.integration.MessageChannel'. 내가 왜 통합 패키지에서이 클래스를 가리키는 확실하지 않다 . 자동 클래스 경로에서 업데이트 된 버전에 따라 메시징 패키지를 사용해야 동안

을 pom.xml 파일에, 나는 정의 :

<dependency> 
     <groupId>org.springframework.integration</groupId> 
     <artifactId>spring-integration-core</artifactId> 
     <version>4.0.0.RELEASE</version> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework.integration</groupId> 
     <artifactId>spring-integration-jms</artifactId> 
     <version>4.0.0.RELEASE</version> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework.integration</groupId> 
     <artifactId>spring-integration-stream</artifactId> 
     <version>4.0.0.RELEASE</version> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework.integration</groupId> 
     <artifactId>spring-integration-xml</artifactId> 
     <version>4.0.0.RELEASE</version> 
    </dependency> 

    <dependency> 
     <groupId>xml-apis</groupId> 
     <artifactId>xml-apis</artifactId> 
     <version>1.4.01</version> 
    </dependency> 

    <dependency> 
     <groupId>javax.jms</groupId> 
     <artifactId>jms</artifactId> 
     <version>1.1</version> 
     <scope>provided</scope> 
    </dependency> 

    <dependency> 
     <groupId>javax.jms</groupId> 
     <artifactId>jms-api</artifactId> 
     <version>1.1-rev-1</version> 
     <scope>provided</scope> 
    </dependency> 
,536,913,632 10

우리는 이것을 4.0.3 버전으로 사용하고 있습니다. 심지어 springintegration.xml 봄 3.

의 클래스를 가리키는 내가 스택 추적에서이 오류를 얻고 나의 모든 통합 테스트가 실패하는 이유 스프링 (4)로 변경 한 후 나에게이 문제를 해결하기 위해 도와주세요 :

java.lang.IllegalStateException: Failed to load ApplicationContext 
    at org.springframework.test.context.CacheAwareContextLoaderDelegate.loadContext(CacheAwareContextLoaderDelegate.java:99) 
    at org.springframework.test.context.DefaultTestContext.getApplicationContext(DefaultTestContext.java:101) 
    at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:109) 
    at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:75) 
    at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:319) 
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:212) 
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289) 
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) 
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291) 
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:232) 
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:89) 
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231) 
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60) 
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229) 
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50) 
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222) 
    at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) 
    at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:71) 
    at org.junit.runners.ParentRunner.run(ParentRunner.java:300) 
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:175) 
    at org.junit.runner.JUnitCore.run(JUnitCore.java:157) 
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:77) 
    at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:195) 
    at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:63) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120) 
Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [spring/springIntegration.xml]; nested exception is java.lang.NullPointerException 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:413) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:335) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:303) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:216) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:187) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:251) 
    at org.springframework.test.context.support.AbstractGenericContextLoader.loadBeanDefinitions(AbstractGenericContextLoader.java:235) 
    at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:118) 
    at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:60) 
    at org.springframework.test.context.support.AbstractDelegatingSmartContextLoader.delegateLoading(AbstractDelegatingSmartContextLoader.java:100) 
    at org.springframework.test.context.support.AbstractDelegatingSmartContextLoader.loadContext(AbstractDelegatingSmartContextLoader.java:250) 
    at org.springframework.test.context.CacheAwareContextLoaderDelegate.loadContextInternal(CacheAwareContextLoaderDelegate.java:64) 
    at org.springframework.test.context.CacheAwareContextLoaderDelegate.loadContext(CacheAwareContextLoaderDelegate.java:91) 
    ... 28 more 
Caused by: java.lang.NullPointerException 
    at org.springframework.integration.config.PublisherRegistrar.registerBeanDefinitions(PublisherRegistrar.java:67) 
    at org.springframework.integration.config.IntegrationRegistrar.registerMessagingAnnotationPostProcessors(IntegrationRegistrar.java:319) 
    at org.springframework.integration.config.IntegrationRegistrar.registerBeanDefinitions(IntegrationRegistrar.java:93) 
    at org.springframework.integration.config.xml.AnnotationConfigParser.parse(AnnotationConfigParser.java:40) 
    at org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:74) 
    at org.springframework.integration.config.xml.AbstractIntegrationNamespaceHandler.parse(AbstractIntegrationNamespaceHandler.java:56) 
    at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1424) 
    at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1414) 
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:187) 
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:141) 
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:110) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:508) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:391) 
    ... 41 more 

답변

0

StackTrace를 표시하지 않는 한 IDE에서 불만이있는 것 같습니다.

나는 나의 IDEA 13.1에서 같은를 참조하십시오 십오 아직, 봄 통합 XSD 4.0을 지원하지 않기 때문에 enter image description here

그래서, 그냥 무시.

UPDATE

좋은 캐치! 실제로 버그입니다. 이 문제에 대해 JIRA 문제 (https://jira.spring.io/browse/INT)를 제기 하시겠습니까?

다른 측면에서 그것은 다른 질문입니다. NPE을 얻으려면 몇 가지 해결 방법을 사용하여 도와 드리겠습니다. 여기에 연결하여 accept이 답을 해결 된 것으로 표시하십시오. 나는 IDEA 문제를 의미합니다.

+0

스키마 유효성 검사를 위해 이클립스 용 스프링 도구 (STS)는 항아리의 메타 데이터를 사용하여 클래스 경로에서 적절한 스키마를 찾아서 업그레이드 할 필요가 없습니다 (적어도이 문제의 경우). 새로운 버전의 Spring 프로젝트가 발표되었습니다. –

+0

알려 주셔서 감사합니다. 이제 나는 다른 방향으로 생각할 것이다. 내 질문에 (편집) 스택 추적을 추가했습니다. 스프링 통합 3.0.3에서는 모든 것이 잘 작동하지만 4.0.0 또는 그 이후 버전으로 업그레이드하면 springIntegration.xml에서 xml 구문 분석 오류가 발생합니다. 도와주세요. – Vik

+0

답변을 –