I have been searching for some piece of code to kill IS threads. Some times some services fall into infinite loops and they just kill the server and restart is used to be the best solution to kill it.
I’ve tried 3 months ago to do the same. I was only able to change the name of the threads like they appear in “service usage”, killing threads didn’t work for me.
I try with the code provided and my service containing only a “repeat on succes” always appears in the “service usage” as running…
My view is that killing threads like this is a last resort type of thing. And a temporary situation until the root cause of why threads are hanging is found and corrected. Hanging/run-away threads are not normal and usually indicate a bug (either in custom services or perhaps in wM-supplied code) or a misconfiguration.
The approach to uncovering the cause is to get a stack-trace/thread dump for analysis. wM tech support and/or professional services can help with that.
Thread killing should not become a standard production support practice.
Adding to that, in general killing threads in a JVM is bad practice as it tends to destabilize your JVM. Doing so in a development or test environment may under circumstances, as described in previous post, be allowed, but definately not in a production environment.
Hi gunasekhar,
Recently we have any issue of a flow service going into infinite loop. That was caused due to the DB and the data. Your Java service has helped in all ways. I agree using this under production environment is not recommended. But under surcumstances i think this is best way to prevent more loss of data and the business. Nice work
We have tried this code in 6.1,6.5 and 7.1.2 and it works in all the environments except the 7.1.2 env…If any one knows how to kill a thread in 7.1.2 env please share it with us…