You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-user@james.apache.org by Phillip Odam <ph...@nitorgroup.com> on 2018/06/20 02:23:59 UTC

Unable to use file queue in v3.0.1

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