Visual VM shows FifoMessageDispatchChannel.dequeue() taking a lot of time. The Tomcat process is using around 100% of a processor core.
dequeue() is not taking much processor time as that other guy said. This answer to another question explains Self Time includes time spent doing things other than processing, such as waiting.
Self and Total Time (CPU) include time in the method using the processor and they are 0 for dequeue(). To find methods using the processor most, sort by Self Time (CPU), as Bedla indicated.