\activemq-data\localhost\KahaDB配下のファイルを、データが空だった時のファイルに置換する。実は消しても自動生成される節もある。
これで、この4日間エライ事になってた https://twitter.com/nekora2199 を止められた…。
今後はこういうバグに備えて、ActiveMQのキューを毎朝早朝に全部空にするバッチを仕込んでおこう。
ちなみにプロセスを落とさずに消す正しい方法は、

to use JMX to browse the queues and call the purge() method on the QueueViewMBean.
You could also delete the queue via removeQueue(String) or removeTopic(String) methods on the BrokerViewMBean

http://activemq.apache.org/how-do-i-purge-a-queue.html

だそうな。
jconsoleから繋いで適当にそれっぽいメソッドを実行。

…消えねぇ!
やっぱ適当じゃだめか。しかしpurgeって上のリンクにもあるしな。
何か、JMXからの指示有効化みたいな指定が必要なのか。
あと、使ってるActiveMQのバージョンが5.5.1なのが関連する可能性はある。
jconsoleじゃなくてJavaプログラム中からJMXに接続してる例があった
https://gist.github.com/983841/6c0b668e80f13264d63e42eb22dd92f13bf30011
http://bendoerr.me/posts/2012-10-14-activemq-jmx-purge.html