Hi Guys,

I’m running a customized version of the Trunk with ActiveMQ and I've came 
across a concerning problem caused when the application is not shutdown 
correctly. In my circumstance the server took longer than the wrapper’s default 
timeout 15 second timeout which causes the wrapper to forcibly kill the JVM  
when this occurred ActiveMQ was not cleanly shutdown and 
FileNotFoundException’s began to pop up relating to messages in the queue.


Wrapper Message:


Shutdown failed: Timed out waiting for the JVM to terminate.
JVM did not exit on request, terminated
JVM exited on its own while waiting to kill the application.
JVM exited in response to signal SIGKILL (9).


Message loss:


java.io.FileNotFoundException: 
/usr/local/james/bin/../var/store/activemq/blob-transfer/5/ID_s113-0006-lnv01-53281-1385935645342-4_1_41_4_823
 (No such file or directory)
com.liverton.james.mailets.AbstractDelivery.run(AbstractDelivery.java:714)
at java.lang.Thread.run(Thread.java:724)



Caused by: org.apache.james.queue.api.MailQueue$MailQueueException: Unable to 
enqueue mail org.apache.james.core.MailImpl@311825f;
nested exception is:
javax.mail.MessagingException: Unable to get inputstream;
nested exception is:
java.io.FileNotFoundException: 
/usr/local/james/bin/../var/store/activemq/blob-transfer/5/ID_s113-0006-lnv01-53281-1385935645342-4_1_41_4_823
 (No such file or directory)
at org.apache.james.queue.jms.JMSMailQueue.enQueue(JMSMailQueue.java:212)
at com.liverton.james.mailets.AbstractDelivery.run(AbstractDelivery.java:685)
 ... 1 more


After looking through the configuration I noticed useShutdownHook is set to 
‘false’  in the activemq-queue-content.xml. Is there a reason why this is 
turned off? From my reading it would indicate you turn this off if you need to 
enforce a specific shutdown order but I can’t find any evidence of this in the 
code.




Regards,

Johnny Minty

Reply via email to