Just a quick update, it seems based on the above-linked repository, that there could be one explanation:
if
MessageProcessorServlet creates an instance of
MessagePurger (extends
Thread) and starts it, this thread will run forever unless interrupted, since it has a "while (true)" loop in its run() method.
MessageProcessorServlet should call
interrupt() on the
MessagePurger during
MessageProcessorServlet.destroy(). If the servlet isn't destroyed, though, or is destroyed without a call to destroy(), the
MessagePurger thread might run long enough (as here) to be killed by the runtime. Or, given that in this case there doesn't appear to be any error text with the log line, perhaps these are simply long-running
MessagePurger threads which
were properly destroyed, albeit after a long run.
I hope this is helpful, let me know your thoughts and any feedback on whether this is the library you're using.
Cheers,
Nick
Cloud Platform Support