Hi Benoit
Thanks for your immediate response, your request made me go back to the
obvious and see what the out of the box mailetcontainer.xml does and of
course it works.
I've now run through comparing my mailetcontainer.xml to the default and
after removing all the custom additions and still seeing the issue I
started incrementally adding all the default mailets that had been
removed. It looks as if commenting out the following mailet in the
transport processor causes the previously mentioned exception.
<mailet match="RemoteAddrNotInNetwork=127.0.0.1"
class="ToProcessor">
<processor>relay-denied</processor>
<notice>550 - Requested action not taken: relaying
denied</notice>
</mailet>
Phillip
On 6/19/18 10:30 PM, Benoit Tellier wrote:
Hi Phillip.
The issue you report seems to be due to a mail serialization issue.
The file mail queue serializes the mails in order to store them.
We may need, in order to help you, to review your mailetcontainer.xml
pipeline. Does any of the mailets you used position a multimap as an
attribute?
We also recently did some work on mail queue implementation (common test
suite, some fixes, etc...). You might want to try latest changes that
might enhance the experience with the FileMailQueue.
Finally, there is still some minor issues with the file mail queue,
awaiting for a kind contributor...
- JAMES-2300 No Order while browsing
- JAMES-2299 No snapshot isolation upon clear
- JAMES-2298 Remove by sender, recipient or name clauses is not
supported yet
Cheers,
Benoit Tellier
Le 20/06/2018 à 09:12, Phillip Odam a écrit :
Hi
Haven't spotted the following being discussed. I'm early on in my
investigation but so far I'm having no luck using the file based queue
in v3.0.1.
Here's what I did to replace ActiveMQ with the file queue.
Extracted META-INF/org/apache/james/spring-server.xml from
james-server-app-3.0.1/lib/james-server-spring-3.0.1.jar and placed
META-INF/org/apache/james/spring-server.xml in the conf directory so
path to spring-server.xml, relative to james root is
conf/META-INF/org/apache/james/spring-server.xml
Then changed the line
<import resource="classpath:META-INF/spring/activemq-queue-context.xml"/>
to this
<import resource="classpath:META-INF/spring/file-queue-context.xml"/>
The var/store/queue folders are all created as expected indicating
successful change over to the file queue.
However after starting james and attempting to send a message, the
following exception is thrown... does anyone have the file queue working
in v3.0.1?
org.apache.james.queue.api.MailQueue$MailQueueException: Unable to
enqueue mail;
nested exception is:
java.io.NotSerializableException:
com.google.common.collect.AbstractMapBasedMultimap$WrappedSet
at
org.apache.james.queue.file.FileMailQueue.enQueue(FileMailQueue.java:217)
at
org.apache.james.queue.file.FileMailQueue.enQueue(FileMailQueue.java:252)
at
org.apache.james.transport.mailets.RemoteDelivery.serviceSingleServer(RemoteDelivery.java:237)
at
org.apache.james.transport.mailets.RemoteDelivery.serviceNoGateway(RemoteDelivery.java:226)
at
org.apache.james.transport.mailets.RemoteDelivery.service(RemoteDelivery.java:201)
at
org.apache.james.mailetcontainer.impl.camel.CamelProcessor.process(CamelProcessor.java:72)
at
org.apache.camel.processor.DelegateSyncProcessor.process(DelegateSyncProcessor.java:63)
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72)
at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:416)
at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
at
org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:111)
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72)
at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:416)
at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:118)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)
at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:416)
at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
at
org.apache.camel.processor.MulticastProcessor.doProcessSequential(MulticastProcessor.java:570)
at
org.apache.camel.processor.MulticastProcessor.doProcessSequential(MulticastProcessor.java:503)
at
org.apache.camel.processor.MulticastProcessor.process(MulticastProcessor.java:215)
at org.apache.camel.processor.Splitter.process(Splitter.java:98)
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72)
at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:416)
at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:118)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)
at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
at
org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:51)
at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
at
org.apache.camel.processor.UnitOfWorkProducer.process(UnitOfWorkProducer.java:73)
at
org.apache.camel.impl.ProducerCache$2.doInProducer(ProducerCache.java:375)
at
org.apache.camel.impl.ProducerCache$2.doInProducer(ProducerCache.java:343)
at
org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:233)
at
org.apache.camel.impl.ProducerCache.sendExchange(ProducerCache.java:343)
at org.apache.camel.impl.ProducerCache.send(ProducerCache.java:184)
at
org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:124)
at
org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:137)
at
org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:144)
at
org.apache.james.mailetcontainer.impl.camel.CamelMailetProcessor.service(CamelMailetProcessor.java:72)
at
org.apache.james.mailetcontainer.lib.AbstractStateCompositeProcessor.service(AbstractStateCompositeProcessor.java:98)
at
org.apache.james.mailetcontainer.lib.AbstractStateMailetProcessor.toProcessor(AbstractStateMailetProcessor.java:165)
at
org.apache.james.mailetcontainer.impl.camel.CamelMailetProcessor.access$1100(CamelMailetProcessor.java:52)
at
org.apache.james.mailetcontainer.impl.camel.CamelMailetProcessor$MailetContainerRouteBuilder$StateChangedProcessor.process(CamelMailetProcessor.java:223)
at
org.apache.camel.processor.DelegateSyncProcessor.process(DelegateSyncProcessor.java:63)
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72)
at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:416)
at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:118)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)
at
org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:111)
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72)
at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:416)
at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:118)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)
at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:416)
at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
at
org.apache.camel.processor.MulticastProcessor.doProcessSequential(MulticastProcessor.java:570)
at
org.apache.camel.processor.MulticastProcessor.doProcessSequential(MulticastProcessor.java:503)
at
org.apache.camel.processor.MulticastProcessor.process(MulticastProcessor.java:215)
at org.apache.camel.processor.Splitter.process(Splitter.java:98)
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72)
at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:416)
at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:118)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)
at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
at
org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:51)
at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
at
org.apache.camel.processor.UnitOfWorkProducer.process(UnitOfWorkProducer.java:73)
at
org.apache.camel.impl.ProducerCache$2.doInProducer(ProducerCache.java:375)
at
org.apache.camel.impl.ProducerCache$2.doInProducer(ProducerCache.java:343)
at
org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:233)
at
org.apache.camel.impl.ProducerCache.sendExchange(ProducerCache.java:343)
at org.apache.camel.impl.ProducerCache.send(ProducerCache.java:184)
at
org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:124)
at
org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:137)
at
org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:144)
at
org.apache.james.mailetcontainer.impl.camel.CamelMailetProcessor.service(CamelMailetProcessor.java:72)
at
org.apache.james.mailetcontainer.lib.AbstractStateCompositeProcessor.service(AbstractStateCompositeProcessor.java:98)
at
org.apache.james.mailetcontainer.impl.JamesMailSpooler$1.run(JamesMailSpooler.java:178)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.NotSerializableException:
com.google.common.collect.AbstractMapBasedMultimap$WrappedSet
at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1184)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348)
at org.apache.james.core.MailImpl.writeObject(MailImpl.java:534)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1128)
at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348)
at
org.apache.james.queue.file.FileMailQueue.enQueue(FileMailQueue.java:182)
... 84 more
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]