List of usage examples for org.springframework.integration.mail ImapMailReceiver setMaxFetchSize
public void setMaxFetchSize(int maxFetchSize)
From source file:org.springframework.integration.mail.ImapMailReceiverTests.java
public void testIdleWithServerGuts(ImapMailReceiver receiver, boolean mapped, boolean simple) throws Exception { imapIdleServer.resetServer();// w ww.ja v a2 s. c om Properties mailProps = new Properties(); mailProps.put("mail.debug", "true"); mailProps.put("mail.imap.connectionpool.debug", "true"); receiver.setJavaMailProperties(mailProps); receiver.setMaxFetchSize(1); receiver.setShouldDeleteMessages(false); receiver.setShouldMarkMessagesAsRead(true); receiver.setCancelIdleInterval(8); ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler(); setUpScheduler(receiver, taskScheduler); receiver.setUserFlag("testSIUserFlag"); receiver.afterPropertiesSet(); Log logger = spy(TestUtils.getPropertyValue(receiver, "logger", Log.class)); new DirectFieldAccessor(receiver).setPropertyValue("logger", logger); ImapIdleChannelAdapter adapter = new ImapIdleChannelAdapter(receiver); QueueChannel channel = new QueueChannel(); adapter.setOutputChannel(channel); adapter.setTaskScheduler(taskScheduler); adapter.start(); if (!mapped) { @SuppressWarnings("unchecked") org.springframework.messaging.Message<MimeMessage> received = (org.springframework.messaging.Message<MimeMessage>) channel .receive(10000); assertNotNull(received); assertNotNull(received.getPayload().getReceivedDate()); assertTrue(received.getPayload().getLineCount() > -1); if (simple) { assertThat(received.getPayload().getContent(), equalTo(TestMailServer.MailServer.MailHandler.BODY + "\r\n")); } else { assertThat(received.getPayload().getContent(), equalTo(TestMailServer.MailServer.MailHandler.MESSAGE + "\r\n")); } } else { org.springframework.messaging.Message<?> received = channel.receive(10000); assertNotNull(received); assertNotNull(received.getHeaders().get(MailHeaders.RAW_HEADERS)); assertThat((String) received.getHeaders().get(MailHeaders.CONTENT_TYPE), equalTo("TEXT/PLAIN; charset=ISO-8859-1")); assertThat((String) received.getHeaders().get(MessageHeaders.CONTENT_TYPE), equalTo("TEXT/PLAIN; charset=ISO-8859-1")); assertThat((String) received.getHeaders().get(MailHeaders.FROM), equalTo("Bar <bar@baz>")); assertThat(((String[]) received.getHeaders().get(MailHeaders.TO))[0], equalTo("Foo <foo@bar>")); assertThat((String) received.getHeaders().get(MailHeaders.SUBJECT), equalTo("Test Email")); if (simple) { assertThat(received.getPayload(), equalTo(TestMailServer.MailServer.MailHandler.BODY + "\r\n")); } else { assertThat(received.getPayload(), equalTo(TestMailServer.MailServer.MailHandler.MESSAGE + "\r\n")); } } assertNotNull(channel.receive(10000)); // new message after idle assertNull(channel.receive(10000)); // no new message after second and third idle verify(logger).debug("Canceling IDLE"); taskScheduler.shutdown(); assertTrue(imapIdleServer.assertReceived("storeUserFlag")); }