JMS消息积压问题

处理流程:
首先消息被封装成消息对象,然后存入JMS队列,JMS的处理方式是有对象进入就调用消息处理方法取出此对象进行处理。
现在出现的问题是,出现对象进入队列以后出不来了,同时导致后来的对象进入以后也出不来,造成积压。
这种现象在我们最开始做测试的时候出现过两次,但是没找到原因,同时因为当时重启以后被积压的消息是都会被发送的,所以并没有去管。
现在这种消息积压的现象频繁发生,然后我们就将JMS的存储数据库Derby删除,换一个地址重新建立,但是发现上次应该被删除的数据,居然有时候会被取出来。
同时,原本重启以后会被全部发送出去的消息都不一定能全部发出去,基本上只有第一条会被发送出去。

请问这种现象出现的原因是什么?
如何解决呢?
希望大家帮帮忙~很急!

1.使用NIO机制的JMS
2.使用更稳健快速的MYSQL作为durable载体
3.考虑JMS集群。