2012-07-25 3 views
1

예외 봄 통합 메시징.널 포인터 내가 "봄 통합을 시작 해요 .... 다음 코드는 널 포인터 예외를 생산

봄의 context.xml (Spring 설정)

<?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" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
    http://www.springframework.org/schema/integration 
    http://www.springframework.org/schema/integration/spring-integration-2.1.xsd 
    http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context-3.0.xsd"> 
    <context:component-scan base-package="co.in" /> 

    <int:channel id="input" /> 
    <int:channel id="output"> 
     <int:queue capacity="10" /> 
    </int:channel> 
    <int:service-activator input-channel="input" 
     output-channel="output" ref="messageHandler" /> 
</beans> 

응용 프로그램 된 .java (메인 클래스)

package co.in; 

import org.springframework.context.support.ClassPathXmlApplicationContext; 
import org.springframework.integration.Message; 
import org.springframework.integration.MessageChannel; 
import org.springframework.integration.core.PollableChannel; 
import org.springframework.integration.support.MessageBuilder; 

public class app { 
    public static void main(String[] args) { 
     ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
       "classpath:resources/spring-context.xml"); 
     context.start(); 

     MessageChannel input = (MessageChannel) context.getBean("input", 
       MessageChannel.class); 
     PollableChannel output = (PollableChannel) context.getBean("output", 
       PollableChannel.class); 
     input.send(MessageBuilder.withPayload("Pro Spring Integration Example") 
       .build()); 

     Message<?> reply = output.receive(); 
     System.out.println("received: " + reply); 

    } 
} 

MessageHandler.java (서비스 활성화 콩 defnition)

당신이 봄 통합 2.0.x가를 사용하는 것처럼는
package co.in; 

import org.springframework.integration.annotation.ServiceActivator; 

@Component 
public class MessageHandler { 

    @ServiceActivator 
    public String handleMessage(String message) { 
     System.out.println("Received message: " + message); 
     return "MESSAGE:" + message; 
    } 
} 

오류 스택은

스택 추적을 바탕으로
Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [resources/spring-context.xml]; nested exception is java.lang.NullPointerException 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:420) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:212) 
    at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:113) 
    at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:80) 
    at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:123) 
    at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:422) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352) 
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139) 
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83) 
    at co.in.app.main(app.java:11) 
Caused by: java.lang.NullPointerException 
    at org.springframework.beans.factory.support.BeanDefinitionReaderUtils.generateBeanName(BeanDefinitionReaderUtils.java:115) 
    at org.springframework.beans.factory.support.BeanDefinitionReaderUtils.generateBeanName(BeanDefinitionReaderUtils.java:159) 
    at org.springframework.beans.factory.support.DefaultBeanNameGenerator.generateBeanName(DefaultBeanNameGenerator.java:31) 
    at org.springframework.beans.factory.xml.XmlReaderContext.generateBeanName(XmlReaderContext.java:77) 
    at org.springframework.beans.factory.xml.AbstractBeanDefinitionParser.resolveId(AbstractBeanDefinitionParser.java:102) 
    at org.springframework.beans.factory.xml.AbstractBeanDefinitionParser.parse(AbstractBeanDefinitionParser.java:59) 
    at org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:69) 
    at org.springframework.integration.config.xml.AbstractIntegrationNamespaceHandler.parse(AbstractIntegrationNamespaceHandler.java:57) 
    at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1297) 
    at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1287) 
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:135) 
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:92) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:507) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:398) 
    ... 14 more 

답변

1

, 그것은 본다

어떤 버전의 스프링을 사용하고 있습니까?

현재 릴리스 (2.1.3.RELEASE)를 사용하는 것이 좋습니다.

+0

스프링 통합 코어 2.1.0.RELEASE를 사용하고 있습니다. – Muhzin