[bugfix] if eXist was shut down in an unclean way (e.g. due to a memory issue), the Java service wrapper has to give it enough time to come back online again. In many cases, eXist was killed by the wrapper before it could complete the crash recovery procedure. Killing the crash recovery is really fatal and leads to severe problems the next time eXist is started. So what happened was that the wrapper tried to launch eXist over and over again, but never gave it enough time to actually get back to a clean state.
[bugfix] if eXist was shut down in an unclean way (e.g. due to a memory issue), the Java service wrapper has to give it enough time to come back online again. In many cases, eXist was killed by the wrapper before it could complete the crash recovery procedure. Killing the crash recovery is really fatal and leads to severe problems the next time eXist is started. So what happened was that the wrapper tried to launch eXist over and over again, but never gave it enough time to actually get back to a clean state.

I have now introduced a callback mechanism between eXist and the service wrapper, which can be used by eXist to signal that it is still in the startup process and needs more time. The wrapper will then extend its startup timeout. The same applies to the shutdown process.

svn path=/trunk/eXist/; revision=8932

windauer/exist,hungerburg/exist,adamretter/exist,wshager/exist,olvidalo/exist,dizzzz/exist,hungerburg/exist,windauer/exist,hungerburg/exist,jensopetersen/exist,hungerburg/exist,kohsah/exist,shabanovd/exist,MjAbuz/exist,adamretter/exist,lcahlander/exist,eXist-db/exist,jensopetersen/exist,windauer/exist,lcahlander/exist,jensopetersen/exist,zwobit/exist,eXist-db/exist,kohsah/exist,windauer/exist,zwobit/exist,shabanovd/exist,dizzzz/exist,adamretter/exist,ambs/exist,lcahlander/exist,dizzzz/exist,dizzzz/exist,ljo/exist,shabanovd/exist,shabanovd/exist,ljo/exist,RemiKoutcherawy/exist,wolfgangmm/exist,wolfgangmm/exist,RemiKoutcherawy/exist,adamretter/exist,opax/exist,windauer/exist,shabanovd/exist,dizzzz/exist,hungerburg/exist,dizzzz/exist,jensopetersen/exist,wolfgangmm/exist,MjAbuz/exist,ambs/exist,jessealama/exist,jessealama/exist,zwobit/exist,joewiz/exist,jensopetersen/exist,ambs/exist,shabanovd/exist,kohsah/exist,joewiz/exist,patczar/exist,wshager/exist,eXist-db/exist,wolfgangmm/exist,olvidalo/exist,patczar/exist,ambs/exist,patczar/exist,kohsah/exist,lcahlander/exist,MjAbuz/exist,ljo/exist,jessealama/exist,RemiKoutcherawy/exist,opax/exist,RemiKoutcherawy/exist,wolfgangmm/exist,jessealama/exist,kohsah/exist,ljo/exist,zwobit/exist,RemiKoutcherawy/exist,jensopetersen/exist,zwobit/exist,wshager/exist,ljo/exist,wolfgangmm/exist,eXist-db/exist,MjAbuz/exist,eXist-db/exist,opax/exist,joewiz/exist,windauer/exist,MjAbuz/exist,adamretter/exist,MjAbuz/exist,patczar/exist,opax/exist,wshager/exist,adamretter/exist,wshager/exist,lcahlander/exist,joewiz/exist,joewiz/exist,olvidalo/exist,patczar/exist,jessealama/exist,lcahlander/exist,olvidalo/exist,ljo/exist,zwobit/exist,joewiz/exist,ambs/exist,olvidalo/exist,wshager/exist,opax/exist,jessealama/exist,eXist-db/exist,kohsah/exist,RemiKoutcherawy/exist,patczar/exist,ambs/exist