I’m curious why MemoryMessageStore is backed by a LinkedHashMap and not a queue data structure.
Does anyone know? It might be just do to the age. The one thing that could break it is: public void updateMessage(Message message) .. which updates the message by ID. But make we could keep two indexes, a queue and a concurrent map. but I think updateMessage is only called for persistent messages. I’m asking because I’m investigating implementing JMS priority in the memory store. If it was backed by a priority queue (lower case, not necessarily proposing the PriorityQueue but more of java.util.concurrent.PriorityBlockingQueue or maybe even something from disruptor.) It would be trivial to implement JMS priority at that point I think. Messages would just be returned based on their JMS priority then FIFO order. Also, this class uses a lot of synchronization which would be removed if it was refactored this way. I’m still experimenting with this idea. I still have to fix the 5.11.x regressions we’ve found. thoughts? Kevin -- Founder/CEO Spinn3r.com Location: *San Francisco, CA* blog: http://burtonator.wordpress.com … or check out my Google+ profile <https://plus.google.com/102718274791889610666/posts> <http://spinn3r.com>