Who interrupts my thread?
interrupted-exception, java, multithreading, swing
Solution
If possible, you could extend `Thread` and overwrite the `interrupt()` method for this thread to print a stacktrace or throw an unsupported operation exception.
You could also use the extended `Thread` class to store a reference to the interrupting thread and read it once you catch the interrupted exception.
Problem
I understand what an InterruptedException does and why it is thrown. However in my application I get it when waiting for `SwingUtilities.invokeAndWait()` on a thread that is only known by my application, and my application never calls `Thread.interrupt()` on any thread, also it never passes the reference of the thread on to anyone. So my question is: Who interrupts my thread? Is there any way to tell? Is there a reason why the InterruptedException doesn't contain the name of the Thread that requests the interrupt? I read that it could be a framework or library that does this, we use the following, but I can't think of reason for them to interrupt my thread: - Hibernate - Spring - Log4J - Mysql connector