나는 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)
감사합니다. 스프링 코어 2.5와 일치하는 버전은 스프링 통합 1.0.4.RELEASE입니다. 1.0.4를 사용하면 문제가 발생하지 않기를 바랍니다. – Mahendran