[
https://issues.apache.org/jira/browse/IMAP-133?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Norman Maurer resolved IMAP-133.
--------------------------------
Assignee: Norman Maurer
Fix Version/s: 0.1
Resolution: Fixed
Thx for reporting..
> JPAStreamingMessage vs JPAMessage
> ---------------------------------
>
> Key: IMAP-133
> URL: https://issues.apache.org/jira/browse/IMAP-133
> Project: JAMES Imap
> Issue Type: Bug
> Components: JPA Mailbox
> Reporter: Tim-Christian Mundt
> Assignee: Norman Maurer
> Priority: Blocker
> Fix For: 0.1
>
>
> With newest James I quite often (as always not always) get this error during
> copy operations which causes them to fail:
> Exception in thread "pool-8-thread-1" java.lang.ClassCastException:
> org.apache.james.imap.jpa.mail.model.openjpa.JPAStreamingMessage cannot
> be cast to org.apache.james.imap.jpa.mail.model.JPAMessage
> at
> org.apache.james.imap.jpa.mail.model.JPAMailboxMembership.<init>(JPAMailboxMembership.java:64)
> at
> org.apache.james.imap.jpa.JPAMailbox.copyMessage(JPAMailbox.java:99)
> at
> org.apache.james.imap.jpa.openjpa.OpenJPAMailbox.copyMessage(OpenJPAMailbox.java:83)
> at
> org.apache.james.imap.store.StoreMailbox$5.run(StoreMailbox.java:611)
> at
> org.apache.james.imap.store.transaction.AbstractTransactionalMapper.execute(AbstractTransactionalMapper.java:38)
> at
> org.apache.james.imap.store.StoreMailbox.copy(StoreMailbox.java:603)
> at
> org.apache.james.imap.store.StoreMailbox.copyTo(StoreMailbox.java:637)
> at
> org.apache.james.imap.store.StoreMailboxManager.copyMessages(StoreMailboxManager.java:296)
> at
> org.apache.james.imap.processor.CopyProcessor.doProcess(CopyProcessor.java:82)
> at
> org.apache.james.imap.processor.AbstractMailboxProcessor.doProcess(AbstractMailboxProcessor.java:125)
> at
> org.apache.james.imap.processor.AbstractMailboxProcessor.process(AbstractMailboxProcessor.java:80)
> at
> org.apache.james.imap.processor.AbstractMailboxProcessor.doProcess(AbstractMailboxProcessor.java:73)
> at
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:44)
> at
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:46)
> at
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:46)
> at
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:46)
> at
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:46)
> at
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:46)
> at
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:46)
> at
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:46)
> at
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:46)
> at
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:46)
> at
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:46)
> at
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:46)
> at
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:46)
> at
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:46)
> at
> org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:46)
> at
> org.apache.james.imap.main.AbstractImapRequestHandler.doProcessRequest(AbstractImapRequestHandler.java:65)
> at
> org.apache.james.imap.main.ImapRequestStreamHandler.handleRequest(ImapRequestStreamHandler.java:82)
> at
> org.apache.james.imapserver.netty.ImapStreamChannelUpstreamHandler.processStreamIo(ImapStreamChannelUpstreamHandler.java:64)
> at
> org.jboss.netty.handler.stream.StreamHandler$1.run(StreamHandler.java:127)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
> Source)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> at java.lang.Thread.run(Unknown Source)
> streaming is set to false. I found the place where the JPAStreamingMessage is
> created:
> 633 final MessageMapper<Id> mapper = createMessageMapper(session);
> 634
> 635 final List<MailboxMembership<Id>> originalRows =
> mapper.findInMailbox(set);
> in org.apache.james.imap.store.StoreMailbox. Those "originalRows" contain the
> JPAStreamingMessage(s). The question here is: How does the mapper know, which
> kind of Message to create - JPAStreamingMessage or JPAMessage? By the way,
> the former is defined twice in persistence.xml. First I thought, this might
> be the cause for the error, but really sometimes it gets the one type and
> after restarting James it maybe gets the other (but always the same type
> during one run).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]