Discussion:
Unable to use file queue in v3.0.1
Phillip Odam
2018-06-20 02:23:59 UTC
Permalink
Hi

Previously incorrectly submitted to server-dev, not trying to blast the
mailing list.

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

Loading...