Phillip Odam
2018-06-20 02:23:59 UTC
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
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