2012-12-17 1 views
0

나는 an example을 시도하고 있습니다. 이 예제에서는 스프링 통합 2.0.3을 사용하는 것처럼 언급되어 있지만 NullPointerExcpetion을 얻었고이를 해결하기 위해 mentioned here을 따랐습니다. 그러나 스프링 통합 2.1을 사용하면 스프링 3.0이 필요하다고 생각합니다.Spring 통합을 사용하는 imap에서 이메일을 읽는 것이 작동하지 않습니다.

질문 : imap에서 읽은 전자 메일을 사용하여 스프링 버전 2.5를 사용할 수 있습니까? 다음

내 프로젝트에 설정된 받는다는 종속성은 다음과 같습니다

<dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring</artifactId> 
     <version>2.5.6</version> 
    </dependency> 
... 
<dependency> 
<groupId>org.springframework.integration</groupId> 
<artifactId>spring-integration-core</artifactId> 
<version>2.1.3.RELEASE</version> 
</dependency> 
<dependency> 
    <groupId>org.springframework.integration</groupId> 
    <artifactId>spring-integration-mail</artifactId> 
    <version>2.1.3.RELEASE</version> 
</dependency> 

스프링 component.xml

<beans xmlns="http://www.springframework.org/schema/beans" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:aop="http://www.springframework.org/schema/aop" 
xmlns:mail="http://www.springframework.org/schema/integration/mail" 
xmlns:int="http://www.springframework.org/schema/integration" 
xmlns:util="http://www.springframework.org/schema/util" 
xsi:schemaLocation=" 
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd 
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd 
    http://www.springframework.org/schema/integration/mail 
    http://www.springframework.org/schema/integration/mail/spring-integration-mail-2.1.xsd 
    http://www.springframework.org/schema/util 
    http://www.springframework.org/schema/util/spring-util-2.0.xsd"> 


    <util:properties id="javaMailProperties"> 
    <prop key="mail.imap.socketFactory.class">javax.net.ssl.SSLSocketFactory</prop> 
    <prop key="mail.imap.socketFactory.fallback">false</prop> 
    <prop key="mail.store.protocol">imaps</prop> 
    <prop key="mail.debug">false</prop> 
</util:properties> 

<mail:inbound-channel-adapter id="imapAdapter" 
            store-uri="imaps://<username>:<password>@imap.googlemail.com:993/INBOX"          
            channel="recieveEmailChannel"           
            should-delete-messages="false" 
            should-mark-messages-as-read="true"          
            auto-startup="true" 
            java-mail-properties="javaMailProperties"> 
    <int:poller fixed-delay="5" time-unit="SECONDS"/> 
</mail:inbound-channel-adapter> 

<int:channel id="recieveEmailChannel">   
    <int:interceptors> 
     <int:wire-tap channel="logger"/> 
    </int:interceptors> 
</int:channel> 

<int:logging-channel-adapter id="logger" level="DEBUG"/> 

<int:service-activator input-channel="recieveEmailChannel" ref="emailReceiverService" method="receive"/> 

<bean id="emailReceiverService" class="com.mycompany.DefaultEmailReceiverUtilService"> 
</bean> 

EmailNotificationTest.java

public class EmailNotificationTest extends 
    AbstractDependencyInjectionSpringContextTests 

{ 

public static final String SOURCE_VERSION_ID = "$Id$"; 

    //Who ever wants to run this testcase ,Please uncomment this method 
    protected String[] getConfigLocations() 
    { 
     return new String[] 
     { "classpath:META-INF/spring/component.xml" }; 
    } 

public void testSimpleEmailNotification() 
{ 

} 
} 

내가 실행하는 경우를 제 testcase 다음 예외를 수신 오전 :

org.springframework.beans.factory.BeanDefinitionStoreException : 클래스 경로 자원 [META-INF/spring/component.xml]에서 XML 문서를 구문 분석하는 예기치 않은 예외입니다. 중첩 java.lang.NoClassDefFoundError가 예외이다 org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions에서 조직/스프링 프레임 워크/예약/지원/PeriodicTrigger (XmlBeanDefinitionReader.java:420) org.springframework.beans.factory에서 . org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions에서 org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions (XmlBeanDefinitionReader.java:310) 에서 xml.XmlBeanDefinitionReader.loadBeanDefinitions (XmlBeanDefinitionReader.java:342) (AbstractBeanDefinitionReader.java:143) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions (AbstractBeanDefinitionReader.java:178) at org.springframework.beans.factory.support.AbstractBeanDefinitionRea der.loadBeanDefinitions (AbstractBeanDefinitionReader.java:149) org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions (AbstractBeanDefinitionReader.java:212) org.springframework.test.AbstractSingleSpringContextTests.createApplicationContext에서 에서 (AbstractSingleSpringContextTests.java:198) 에서 org.springframework.test.AbstractSingleSpringContextTests.loadContextLocations (AbstractSingleSpringContextTests.java:179) org.springframework.test.AbstractSingleSpringContextTests.loadContext (AbstractSingleSpringContextTests.java:158)에서 org.springframework.test.AbstractSpringContextTests.getContext (AbstractSpringContextTests에서 . java : 105) at org.springframework.test.AbstractSingleSpringContextTests.setUp (AbstractSingleSpringContextTests.java:87)

답변

1

간단한 스프링 통합 -> 스프링 버전 테이블을 찾지 못했습니다.여기에 당신이 할 수있는 작업은 다음과 같습니다

Spring 버전이 필요한지 즉시 확인할 수 있습니다. 예를 들어 Spring Integration 2.0.0에서는 Spring 3.0.5에 의존한다는 것을 알 수 있습니다.

+0

감사합니다. 스프링 코어 2.5와 일치하는 버전은 스프링 통합 1.0.4.RELEASE입니다. 1.0.4를 사용하면 문제가 발생하지 않기를 바랍니다. – Mahendran

관련 문제