It's not directly possible but if you are only using one thread on your transaction you could use a checkedaction implementation to call thread.stop() http://docs.jboss.org/jbosstm/latest/api/jta/com/arjuna/ats/arjuna/coordinator/CheckedAction.html
The checkedaction factory is set via the coordinator environment bean using either of:
That said, Thread.stop() is, as you will likely already know, unsafe (Thread (Java Platform SE 7 )) and not recommended.
Just to say, there are lots of reasons that you don't want to do what you are proposing. The thread pool may not get replenished and the transaction could be put in a strange state.
I think it is better to work out why the thread is blocking.
Is there some SQL being executed that doesn't have a timeout set?